PHP disable_functions 绕过

sipcer (女黑阔一枚~求大牛指导) | 2015-01-29 19:04

应用条件:

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

from: https://rdot.org/forum/showthread.php?t=3309

来源:http://bobao.360.cn/learning/detail/225.html