IIS 5.x/6.0解析漏洞
漏洞触发条件
server:windows server 2003
脚本语言:asp
利用方式
1 /xx.asp/xx.jpg IIS会把xx.asp下的文件都当作asp来解析执行
2 xx.asp;.jpg IIS默认不解析分号之后的内容
3 xx.asa、xx.cer xx.cdx 均默认被IIS解析
安全防护
1 禁止用户控制文件上传目录,新建目录等权限
2 上传目录与用户新建的目录禁止执行
3 上传的文件重命名,不保留用户上传文件的后缀
4 禁止asa、asp、cer、cdx等后缀的文件上传
IIS 7.0/7.5 和 Nginx < 8.03畸形解析漏洞
漏洞触发条件
1 php Nignx < 8.03 以及 Fast-CGI开启
2 php iis7.5 开启了cgi.fix_pathinfo
利用方式
1 上传一个嵌入php代码的图片xx.jpg
2 访问图片地址http://www.test.com/xx.jpg/.php 图片中的代码将会被执行
3 http://www.test.com/1.jpg.php 与 http://www.test.com/1.jpg/ .php也可以
安全防护
1 修改php.ini文件,将cgi.fix_pathinfo的值设置为0;
2 在Nginx配置文件中添加以下代码:
以上代码的意思是匹配符合利用方式的url,返回403
3 升级Nignx到最新版
Apache解析漏洞
漏洞原理
这个漏洞的出现是跟apache的解析特性有关,apache对于文件名的解析是从后往前解析的,直到遇见一个它认识的文件类型为止。
利用方式
上传test.php.xxx,由于xxx这个文件后缀apache并不认识,然后这个文件将会被apache当作php来执行。
安全防护
1 在httpd.conf中添加一下代码
2 升级apache版本
windows系统特性
1 对于大小写字母不敏感
2 不符合命名规则的自动去除如:
test.asp.
test.asp(空格)
test.asp:1.jpg
以上均可以绕过黑名单验证上传获取webshell