PHP disable_functions 绕过
应用条件:
1)内核版本>=2.98 (原文就这样写的)
2)PHP-CGI(或者是PHP-FPM),因为mod_php并没有读取/proc/self/mem
3)代码针对x64编写,要用于x32需要更改。
4)Open_basedir=off(或者能绕过open_basedir读写 /lib/ 和/proc/)
整体思路是通过/proc/self/mem 修改got来劫持库函数调用,似例代码中,将open@got填上了system的地址,通过readfile来调用system执行系统命令,劫持这个调用调用的副作用就是这个php worker进程会被搞坏,因为下一次worker执行文件php的时候会先调用open来读取文件……
限制:
需要fopen,fread,fwrite这样的函数没有被disable,需要用来改内存嘛。
源码:http://pastebin.com/raw.php?i=1saPcTCV