作者:360U2671379114
稿费:50RMB
投稿办法:发送邮件至linwei#360.cn,或上岸网页版在线投稿

在人见人爱的WordPress缓存插件W3TC与Nignx结合时,有些教程见告你要在Nginx的配置文件中加入像这样的东西:
当我写这篇博客的时候,这条建议现在已经成为了关于“W3TC Nginx”搜索条款标第二大热门
如果你还不知道这个配置文件是可以被W3TC(以及加上扩展的PHP)重写的,这条建议的浸染便是让W3TC能够重载Nginx的配置
现在我们假设攻击者已经攻破了你的WordPress站点,并且拥有了读写www-data的权限——这在Debian和其他一些Linux发行版上是PHP5-FPM默认的
攻击者就能够灵巧的去利用一些Nginx配置选项,并且把W3TC的配置改成这样:
显然,任何文件或文件夹一旦被攻击者写入到上述的配置文件,它的所有者都会被变动为www-data。要把稳,这个征象是发生在Root用户的主进程中的,因此这对所有文件都是一样的
我们可以以这种方法通过PHP来读取到/etc/shadow或者主机的任意文件,而对付读取上述的shadow文件,我们还可以利用curl
于是现在系统上所有的文件夹或文件所有权都能被变动为www-data了,并且攻击者得到了读写权限。而通过非暴力破解shadow文件手段来获取Root权限的shell的办法,则留给读者去练习和思考。
关于降落危害的方法
永久不要让PHP来替你管理Web做事器配置!