一、phpstudy有哪些漏洞
phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer多款软件一次性安装,无需配置即可直接安装使用,具有PHP环境调试和PHP开发功能,在国内有着近百万PHP语言学习者、开发者用户。但是存在后门漏洞,可直接getshell。
漏洞存在版本:phpStudy2016php\php-5.2.17\ext\php_xmlrpc.dllphp\php-5.4.45\ext\php_xmlrpc.dllphpStudy2018PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dllPHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll
准备工作:服务器:192.168.29.135(Windows server 2008 SP2)phpStudy2016(php-5.4.45+Apache)
漏洞成因
查看文件C:\phpStudy\php\php-5.4.45\ext\php_xmlrpc.dll(这是我的安装路径,根据实际的安装情况查看安装路径),Ctrl+F查找关键字“@evel”,找到了“@eval(%s('%s'));”,这也是漏洞的成因。
二、phpstudy_2016-2018_rce_backdoor
针对phpStudy中的RCE漏洞,攻击者可以利用该漏洞执行PHP命令,被称作phpStudy后门。此漏洞等级被评定为高危,影响的版本包括php-5.2.17和php-5.4.45中的php_xmlrpc.dll文件。
识别漏洞的方法是在相关文件中查找特定字符串“@eva”,存在此字符串则表示存在后门。对于phpStudy2018版本,检查路径为*:\PHPTutorial\PHP\PHP-5.2.17\ext\php_xmlrpc.dll和*:\PHPTutorial\PHP\PHP-5.4.45\ext\php_xmlrpc.dll。
利用此漏洞的深度攻击方式,攻击者通过IDA分析xmlrpc.dll发现被植入了危险函数eval()。攻击流程包括篡改初始化函数request_startup_func,根据HTTP请求中的“Accept-Encoding”和“Accept-Charset”字段触发漏洞。攻击者需要确保字段信息符合特定条件,以触发系统收集功能。
环境搭建方面,漏洞存在于phpstudy20160311 PHP-5.4.45版本中,通常通过phpinfo.php文件触发漏洞。为了验证漏洞,可以开启BP拦截数据流量,并将其发送到重发器。对命令进行base64编码后,可以看到命令的回显,证明当前用户为administrator。
对于此漏洞,目前没有提供有效的修复建议。
三、phpstudy RCE漏洞复现
PHPStudy存在一个严重漏洞,编号为phpstudy_2016-2018_rce,威胁级别极高。漏洞允许攻击者通过恶意利用,执行PHP命令,构成后门风险。受影响的版本包括phpStudy 2016和phpStudy 2018。
在Windows Server 2016环境中安装phpStudy后,可以通过浏览器访问其Web服务,确认安装成功。漏洞的复现过程包括检查Mysql数据库连接,修改虚拟目录文件名以直接访问,然后查看phpinfo.php中的错误信息。通过调整时区并重启phpStudy,消除部分报错。接着,可以配置MySQL数据库并登录,设置中文字符,创建和导入CMS数据库。
更为关键的漏洞利用方法是使用base64编码加密攻击命令,将其插入到受影响的系统中,通过点击“重播”功能,攻击者能看到结果。攻击者甚至可以利用这个漏洞实现一句话木马,通过加密后插入,实现对主机的反弹控制。具体编码表现为:Accept-Encoding: gzip,deflate Accept-Charset:c3lzdGVtKCd3aG9hbWknKTs=