1.IIS/Nginx + PHP fastcgi取值错误解析漏洞
在php.ini或者其他配置文件中,使cgi.fix_pathinfo=1,开启后当执行的文件不存在,会继续查找上一级文件是否存在
index.php/id/2,当2不存在时,会查找id是否存在,id不存在时,继续查找index.php文件
当开启cgi.fix_pathinfo且为设置security.limit_extensions限制可执行的文件类型时,访问shell.jpg/.php,shell.jpg会被当做php代码执行
2.Nginx文件名逻辑漏洞(CVE-2013-4547)
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
当上传一个以空格结尾的文件时,例如“abc.jpg ”
访问 abc.jpg%20%00.php,会将上传的jpg文件当作php文件执行
访问不正常时,burp拦截,将%20%00解码一下再发送
3.Apache解析漏洞(配置错误)
如果Apache的conf文件使用了如下配置:
AddHandler application/x-httpd-php .php
当文件中含有.php就会解析成php文件,例如:aaa.php.jpg会被当成php文件执行
如果在.htaccess中配置:
AddType application/x-httpd-php xxx
.xxx后缀都会被当成php文件执行
4.IIS 5.x/6.0 解析漏洞
上传文件名:abc.asp;jpg
服务器默认不会解析 ; 号后面的内容,jpg文件会当成asp文件执行
向xxx.asp目录上传aaa.jpg
访问xxx.asp/aaa.jpg,jpg会当成asp执行
解析漏洞配合文件上传漏洞,会使上传漏洞更简单被利用
网友评论