apache文件后缀名解析

apache对文件后缀名的识别是从后向前进行匹配的,以单个.作为分隔符。当遇到未知的文件后缀名时,会继续向前匹配,直到遇到可以识别的后缀名为止。

如:

根目录下有一个abc.php.xa.cd.gf文件,当通过浏览器请求这个文件时,因为第一个后缀名.gf是无法识别的,apache会继续处理.cd,同样无法识别,直到最后识别出.php,那么最后这个文件将被作为php文件解析并执行。


apache的这个特性,可以被用来绕过一些上传文件的检测。如果一个文件上传的页面,通过黑名单的方式禁止上传php文件,那么我们就可以将文件名修改为test.php.abcd的方式进行上传。最后请求test.php.abcd时,和请求test.php的效果是一样的,这样就成功绕过了文件后缀名的检测上传了一个php文件。


apache的这个属性,定义可以识别的后缀名,可以通过修改conf/mime.types文件来实现。

你可能感兴趣的:(网络安全)