apache的解析漏洞

Posted by 跳跳龙 on September 11, 2019

(文章版权归笔者跳跳龙所有,谢绝转载)

大家一定听说过apache的解析漏洞,在较早的版本2.2.X之前,如果你上传一个apache不认识的文件后缀,那么apache会向前解析,直到找到一个他认识的后缀。

例如 a.php.ooo 这样的话,文件就会按照php来解析了。说到这里突然想到这次红蓝对抗的时候,发现蓝方的朋友通过hids或者D盾来查杀木马的时候,他没有冒然的删除文件,而是将dex.php重命名成dex.php.bak 如果是这样的防守策略,可以利用apache的解析漏洞依旧可以解析dex文件。

但是实际上apache的解析问题同样存在。本质是功能有没有用好。在apache中,是可以通过修改配置,来对预定义好的文件格式进行加载对应模块来解析的。比如我们遇到html,来用php解析。

只需要打开apache的配置文件,添加如下:

<FilesMatch "test.html">
    SetHandler application/x-httpd-php
</FilesMatch>

这样就可以造成所谓的解析漏洞了。

实际上这是利用了apache的一些丰富功能实现的,达到遇到一些非常规文件也调用php的模块来处理。同样当apache的引入模块一些不安全的模块一样会导致apache的安全问题。本质上这些都是共性问题。