0x01 LD_PRELOAD
前提:putenv没有禁用
evil.c
上传至目标服务器并编译为evil.so
gcc -shared -fPIC evil.c -o evil.so
evil.c
1 | #define _GNU_SOURCE |
上传test.php至目标服务器,访问时传入三个参数命令、输出文件(需存在于服务器上,没有不会创建)、so文件。执行成功后,会在输出文件中看到命令执行结果。
1 | <?php |
参考链接
0x02 php-fpm
使用蚁剑 bypass_disable_functions插件。
前提:phpinfo中的server api是FPM/FastCGI,并且需要知道FPM/FCGI Address,也就是php-cgi-xx.sock,可以去猜测。蚁剑默认的地址不一定是对的。
在插件市场下载插件,然后右键选择:
选择Fastcgi/PHP_FPM
模式,填写PPM/FCGI
地址,然后点击开始即可:
之后再用蚁剑连接上传成功的.antproxy.php
文件地址,就可以在虚拟终端执行命令了。