GaRY's Blog

Beginning is always beautiful

10 2011 档案

PHP端口复用的利用
     摘要: 如果还有人记得我当年发在80sec上的那篇《Linux 系统文件描述符继承带来的危害》的话,应该记得当时这个问题已经被apache官方使用FD_CLOSEXEC修复了:由于在系统底层exec其他进程的时候,所有开启的FD就会被自动关闭,因此就没有办法使用system等php函数,在子进程如bash中继续操作原有开启的高权限文件描述符。
但是最近PHP 5.3.6引进了一个新特性:利用fopen("php://fd/fd_number", "w")的形式,可以直接打开并操作当前进程的文件描述符。基本相当于一个fdopen函数调用。
结合这两点,由于php本身的一种运行方式是以apache的mod方式在apahe进程中存在的,所以对于php来说,他的自身进程也就是apache的进程,所有apache原来在root下打开的文件描述符,他都能操作。于是乎,原有修补完毕的漏洞,经过PHP新功能的妙手回春,又重现江湖了。  阅读全文

posted @ 2011-10-09 01:01 wofeiwo 阅读(8125) | 评论 (0)  编辑

导航

<2011年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

留言簿(10)

随笔分类(90)

随笔档案(61)

搜索

最新随笔

最新评论