phpStudy_2016-2018_RCE漏洞复现
⽂章⽬录
前⾔
phpstudy漏洞在当时的影响还是蛮⼤的,所以决定对phpstudy存在的漏洞进⾏解析复现。
⼀、phpStudy_2016-2018_RCE是什么
Phpstudy软件是国内的⼀款免费的PHP调试环境的程序集成包,通过集成Apache、PHP、MySQL、phpMyAdmin等多款软件⼀次性安装,⽆需配置即可直接安装使⽤,⼀键搭建。
其中2016、2018版本的phpstudy存在被⿊客恶意篡改后形成的RCE漏洞。该漏洞可以直接远程执⾏系统命令。
⼆、漏洞存在的⽂件位置
后门代码存在于\ext\php_xmlrpc.dll模块中,⾄少有2个版本:
phpStudy2016和phpStudy2018⾃带的php-5.2.17、php-5.4.45。
其中:
phpStudy2016查看:
\phpStudy\php\php-5.2.17\ext\php_xmlrpc.dll
\phpStudy\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
三、漏洞分析
通过 IDA分析xmlrpc.dll发现,被植⼊危险函数eval()。
xmlrpc.dll中的初始化函数request_startup_func被篡改:当发起HTTP请求的数据包中包含“Accept-Encoding”字段时,就会进⼊⿊客⾃定义的攻击流程。
当Accept-Encoding字段的信息为“compress,gzip”时,触发系统收集功能。
当Accept-Encoding字段的信息为“gzip,deflate”时,再进⼀步判断Accept-Charset字段,只有当Accept-
Charset字段为⼀些特定字符时才会触发漏洞。
四、漏洞复现
环境搭建
虚拟机中安装phpstudy2016或者phpstudy2018,运⾏5.2.17或5.4.45版本。
能正常访问web站点。
漏洞触发
开启BP代理,拦截数据流量。mysql下载免费版
重构HTTP请求包。
请求中添加⼀项参数 Accept-Charset:系统命令。
将系统命令代码进⾏Base64转码,如system(‘whoami’);
重放HTTP请求包。
写⼊⼀句话⽊马。
菜⼑链接。
总结
本⽂通过复现 phpstudy 的远程执⾏漏洞,在模拟漏洞攻击的过程中学习技术,锻炼思维。该漏洞可以直接执⾏系统命令,属于⾼危漏洞。下⼀篇:
phpstudy漏洞检测利⽤脚本(EXP)编写
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论