news 2026/2/14 12:31:52

DouPHPCms靶场代码审计之代码执行

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DouPHPCms靶场代码审计之代码执行

目录

漏洞复现前的准备工作:

一、代码执行漏洞简介

二、PHP双引号的高级用法

寻找存在代码执行漏洞的点

一、寻找可利用的unlink函数

第6个文件的第56行:

去网站看看对应功能点:

接下来,我们在网站删除Logo的时候抓包看看:

二、利用代码执行漏洞获取权限


漏洞复现前的准备工作:

一、代码执行漏洞简介


RCE(remote command/code execute)命令执行或者代码执行。RCE的原理是用户输入的数据被当做代码执行。存在RCE漏洞的系统,可以让攻击者直接向后台服务器远程注入操作系统命令或者恶意的后端代码,从而控制服务器。现在因为RCE这个词的滥用,RCE的范围比较广,只要渗透的最终情况可以实现执行命令或者是代码都属于RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE。

二、PHP双引号的高级用法

在PHP语言中,单引号和双引号都可以表示一个字符串,但是对于双引号来说,可能会对引号内的内容进行二次解释,这就可能会出现安全问题。
在PHP5.5及以上版本存在着双引号的二次解析,按照PHP官方的解释,这是属于字符串的高级用法。双引号的二次解析能够将双引号内的字符串当成代码来执行,这本身并不是漏洞,但如果被加以利用,则可能产生一些意外的结果。
双引号二次解析的要点:
1、字符串得在双引号内
2、$和{} 得在一起
3、PHP版本要5.5.38以上


寻找存在代码执行漏洞的点

安装中出现这个页面:

来到data目录下删除install.lock,再登录看看:

重新安装:

回到data目录下,先看看配置文件里写的什么:

发现数据库的账号密码都是双引号括起来的,有没有可能利用双引号的二次解析在这里进行一些“特殊操作”呢?

写入测试代码试试看:

发现...成功写入phpinfo()

说明config.php存在双引号的二次解析,通过对其加以利用,则有可能实现远程控制服务器。

因此我们接下来的操作可以围绕config.php文件来进行。如果能够利用成功,则表明这个文件存在代码执行漏洞。

一、寻找可利用的unlink函数

就像刚才的步骤,只要来到安装页面,就能进行RCE。

而,cms安装页面的锁定状态是由install.lock文件控制的,因此我们假如能把目标网站上的install.lock文件删掉,就有可能访问到安装页面。那么问题就变成了:如何删除目标网站的install.lock文件。

用seay源代码审计系统全局搜索含有unlink函数的文件,结果如下:

从上往下,一个文件一个文件快速过一遍,找到可以操作的文件

第一个文件,点进去看看:

发现路径拼接的是常量,写死了,排除!

第二个文件,点进去看看:

发现unlink里面接了一个可传值参数,看看这个参数是否可控?

发现这个参数交给了is_backup_file处理,全局定位一下,看看怎么处理的?

也就是说,传进来的$filename必须包含.sql后缀,而我们要传的显然不是.sql后缀代码,Pass

第三个文件,点进去看看:

观察一下,发现也是参数必须拼接常量.sql后缀,Pass

扫了前面之后,直接来到第6个文件处,有可能,点进去看看:

发现Unlink里面跟的是一个参数$mobile_logo,往上找找看,看看相关设定:

第6个文件的第56行:

这几行代码的逻辑链路基本思路如图所示:

去网站看看对应功能点:

提交logo到什么地址去了?

回到前端看看,获取Logo传入的位置的URL:

http://www.rce.com/m/theme/default/images/logo.jpg

给源码打个断点die();看看点击删除后返回的绝对路径是什么:

而我们要删除的地址是:

....../douphp/data/install.lock (等于需要往前回退四次 ../../../../data/install.lock)

接下来,我们在网站删除Logo的时候抓包看看:

发现mobile_logo参数下面没有传内容(因为上传的是一个空的jpg图片)

在包里添上install.lock的路径为mobile_logo的值:

放行,然后再点击删除Logo:会返回安装页面!表明删除install.lock文件操作成功

二、利用代码执行漏洞获取权限

写入shell:已知配置文件是config.php,等于这句话是写进了config.php文件中

路径为:data/config.php

显示安装失败,实际已经写入了:

接着访问,成功连接!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 11:17:57

【网络安全】Nmap 端口扫描工具 Windows 安装指南 + 最全命令汇总!

Nmap的介绍 nmap(Network Mapper)是一款开源免费的针对大型网络的端口扫描工具,nmap可以检测目标主机是否在线、主机端口开放情况、检测主机运行的服务类型及版本信息、检测操作系统与设备类型等信息。本文主要介绍nmap工具安装和基本使用方…

作者头像 李华
网站建设 2026/2/7 18:07:04

医学影像AI的全新突破:比人类医生更精准的“超级眼睛“诞生记

在医疗科技的历史长河中,很少有发明能够像X射线、CT扫描或MRI那样彻底改变医生诊断疾病的方式。如今,加州大学伯克利分校的Kumar Krishna Agrawal领导的研究团队带来了一项可能同样具有革命性意义的突破——他们开发出了一款名为Pillar-0的人工智能系统&…

作者头像 李华
网站建设 2026/2/8 13:28:53

测试域名挖掘 = 漏洞提款机?SRC 挖洞攻略,零基础看这篇就够

从测试域名挖掘入手:探索SRC漏洞的深度攻略 在网络安全领域,SRC(安全应急响应中心)漏洞挖掘是一场充满挑战与机遇的探索之旅。近期在对某SRC进行挖掘的过程中,一套独特且通用的挖掘思路浮出水面,其围绕测试…

作者头像 李华