常见中间件渗透

这些中间件漏洞都很老了,但是面试容易考,还是记录一下把。

apache

多后缀解析

影响版本:apache 2.0.x <= 2.0.59、apache 2.2.x <= 2.2.17

解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断,直到找到可以识别的文件后缀。若都不可识别,则将其作为plain/text处理。

apache在conf/original/mime.types文件中保存有其可以识别的文件后缀

例如:index.php.a.b,后缀.b.a都不可识别,但.php可识别,此时apache会将其作为php文件解析

换行符绕过(CVE-2017-15715)

影响版本:apache 2.4.0-2.4.29

在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

P神有一篇文章谈到过这个。

Apache SSI 远程命令执行漏洞

前提:服务器开启了ssi与cgi支持

可以上传shtml文件并在shtml文件中输入ssi指令 <!--#exec cmd=”whoami” -->,然后再访问这个文件即可获得ls的结果。

SSI(Server Side Include),通常称为“服务器端嵌入或者叫”服务器端包含,是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

IIS

IIS 5.x和IIS 6.x解析漏洞

1.目录解析(6.0)

形式:http://www.xxx.com/xx.asp/xx.jpg
原理: 服务器默认会把.asp.asa目录下的文件都解析成asp文件。

2.文件解析(6.0)

形式:http://www.xxx.com/xx.asp;.jpg
原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg便被解析成asp文件。

3.解析文件类型(默认解析后缀)

有的网站会设置黑名单上传限制,IIS6.0 默认的可执行文件除了asp还包含这三种 :

1
2
3
/xx.asa
/xx.cer
/xx.cdx

iis把asa,cdx,cer解析成asp文件的原因:这四种扩展名都是用的同一个asp.dll文件来执行。

IIS 7.0/7.5 CGI解析漏洞

前提:

  • php.ini里的cgi.cgi_pathinfo=1

  • IIS7在Fast-CGI运行模式下

利用:在访问某个文件时,在路径后加/*.php(这里的*指任意字符),即可让服务器把把该文件当作php文件解析并返回

Nginx

Nginx PHP CGI 解析漏洞(fix_pathinfo)

前提条件:php配置cgi.fix_pathinfo=1

和iis7/7.5漏洞利用方法一致,url/xxx.gif/xx.php会被解析为php文件

空字节代码执行漏洞

影响版本:Nginx 0.5.x、Nginx 0.6.x、Nginx 0.7-0.7.65、Nginx 0.8-0.8.37

Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码

Nginx 文件名逻辑漏洞(CVE-2013-4547)

影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

需开启fast-cgi

上传一个空格结尾的文件,比如xxxxx.gif%20

请求url/xxxxx.gif%20\0x00.php 即可解析为php文件(\0x00须在burp里的hex里改)

参考

https://www.anquanke.com/post/id/219107

文章作者: Dar1in9
文章链接: http://dar1in9s.github.io/2022/03/05/渗透/常见中间件渗透/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Dar1in9's Blog