一、漏洞位置
程序自帶的PHP的php_xmlrpc.dll模塊中有隱藏后門,受影響的版本有phpstudy2016(php5.2/5.4)、phpstudy2018(php5.2/5.4)等版本。
這里我們用phpstudy2018版本的來驗證后門位置及作用。
二、步驟
Step1:切換php的版本到5.2或者5.4,在phpstudy的根目錄下找到phpStudy\PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dll,使用記事本打開該文件,搜索eval。如下圖
Step2:使用BurpSuite去攔包,修改請求包,其中Accept_Encoding:gzip,deflate 的逗號后面的空格一定要刪掉,然后添加一項:Accept_Charset,規定服務器處理表單數據所接受的數據,惡意代碼 “system('net user')“用Base64轉碼,將結果放在后面。
Step3:提交請求包,查看響應包
可以發現,在Accept-Charset中的命令在目標機上被執行,並返回出結果。
三、修復方法
- 將php5.2和php5.3中的php_xmlrpc文件替換為官網發布的。
- 使用“phpstudy'安全自檢修復程序”修復phpstudy