目前解析漏洞主要存在于三大WEB服务程序,分别是IIS、Nginx和Apache。
IIS6.0下主要是有两个解析漏洞,一个是目录解析,形如/xx.asp/xx.jpg,另一个就是文件解析,形如xx.asp;.jpg,可通过此漏洞上传shell,对服务器危害较大。
著名的Nginx畸形解析漏洞。形如1.jpg/.php,真的是一张图片就要了你的命。
Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断。比如xxx.php.rar对apache来说rar是不可解析的,所以就会解析成xxx.php。 其实整个漏洞的关键就是apache的”合法后缀”到底是哪些,不是”合法后缀”的都可以被利用。
通过修改apache配置文件进行防御
现在对apache的配置文件做适当修改,在文件中添加下面几行代码
1 | <FilesMatch ".(php.|php3.|php4.|php5.)"> |
禁止.php.文件的访问权限
保存并重启apache
另外一点:
如果管理员设置不当,允许上传php4 php5 php7 phtml这些后缀的文件,也会被解析,进而getshell。(以Apache居多 )
总结:
- 所以对于文件上传请严格遵守自动重命名和白名单策略,另外注意修复解析漏洞。