什么是解析漏洞,顾名思义解析漏洞是容器在解析一个文件或者说地址的时候产生的漏洞
上一句话提到了容器那什么是容器呢?
简单地说 apache,tomcat,iis都是容器,本质就是一种服务程序,在服务器中一个端口就对应一个提供相应服务的程序(比如Apache默认的端口为80),而这个程序就是处理服务器从客户端收到的请求。一个服务器可以有多个容器。
IIS解析漏洞
1,文件夹格式为asp,asa类型的文件夹下的文件都可以被当做asp脚本进行解析
2,文件格式为*.asp;1.jpg 其中的1.jpg也会被当做asp脚本进行解析
引申一个之前的漏洞关于webdav
先说明什么是webdav,webdav是一种通信的协议,扩展了http协议,包括http常见方法之后还另外做了扩充,webdav当中之前存在delete put copy 等方法。
在webdav的漏洞当中就是通过put copy 等方法上传webshell对服务器造成攻击
修补的方式:
之后webdav默认禁止开启put delete等方法,如果需要开启的话
https://blog.youkuaiyun.com/mavis_385541553/article/details/42520413
apache解析漏洞
这个漏洞存在的原因和apache解析的方法有关系
先来说说apache的解析方法:其从后面到前面反向解析文件格式,如果遇到不认识的后缀就直接跳过
例子: a.php.xx.aa 会被apache服务器解析为a.php
那他认j识那些后缀名呢?我们可以在/conf/mime.types 文件当中进行查看
nginx解析漏洞
名字是nginx解析漏洞,但是实际上是PHP_CGI解析漏洞
本质是在文件名之后添加 /xx.php那么之前的文件就会被当做php文件进行解析
例子 a.jpg/xx.php a.jpg就会被当做php文件进行解析(xx.php并不存在)
成因 在php配置当中存在cgi.fi:x_pathinfo 这个选项是默认开启的,所以会造成这种漏洞
总结:在解析漏洞当中,都是因为某些特殊的配置或者是特性决定的,防范的时候需要注意容器的特性