【漏洞利用】【原理、利用过程】中间件解析漏洞
【漏洞利用】【原理、利用过程】中间件解析漏洞
目录
0x02 IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞
解析漏洞:
原理:
(中间件漏洞)
对于用户精心构造的文件,web容器将这些文件(其他格式的文件)解析为可执行脚本进行执行
(配合文件上传功能使用,以获取服务器的权限)
变化因素:
搭建平台,命名原则
不同的搭建平台、命名原则会有不同的解析漏洞
熟知的中间件(解析漏洞)
IIS5.x-6.x、IIS7.5、apache、Nginx解析漏洞
0x01 IIS5.x-6.x解析漏洞:
(1)目录解析漏洞(IIS6.0)
原理:
在网站目录*.asp、*.asa文件夹下,无论任何扩展名文件格式都会被解析为asp并执行
利用过程:
链接
(2)文件解析漏洞
原理:
分号后面的不被解析
构建在可解析执行文件后面加上;.jpg等,也会被按照前面解析格式进行解析
利用过程:
111.asp;.jpg
(会以.asp文件格式执行)
(3)可被解析的文件类型
.asp
.asa
.cer
.cdx
0x02 IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞
原理:
正常情况cgi.fix_pathinfo=1,作用是为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块(这个不是中间件漏洞,而是配置漏洞,php.ini在/usr/local/php/lib下)
漏洞利用:
在Fast-CGI运行模式下,在浏览器URL地址栏的文件路径后面加上/xxx.php会将解析为php文件执行
……/xxx.jpg
……/xxx.jpg/xxx.php
(是因为php.ini配置文件中,开启了cgi.fix_pathinfo,但是这并不是Nginx或IIS7.5本身漏洞)
0x03 apache解析漏洞
(1)文件解析规则漏洞
原理:
Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。
利用过程:
……/1.php.aaa.abc
(会被解析为php文件执行)
(2)文件配置漏洞:
原理:
顾名思义,即在Apache的conf里配置文件疏忽导致的漏洞
利用过程:
Apache的conf里添加一行
①AddHandler php5-script .php
那么只要文件名里包含.php就会以PHP文件解析执行。
(test.php.jpg 也会以 php 来执行)
②AddType application/x-httpd-php .jpg
即使扩展名是 jpg,也以php 方式解析执行
0x04 Nginx解析漏洞
(Nginx对url是从左往右读取,并先读取文件名一直读到最后一个文件后缀才是该文件的后缀,而Apache,对url是从右往左读取,并先读取文件后缀读取第一个,默认前面都是文件名)
空字节代码执行漏洞(Nginx <8.03 )
原理:
使用PHP-FastCGI执行PHP时,如果url里面存在%00空字节时会与FastCGI的处理不一致,导致可在非PHP文件中嵌入PHP代码,在地址栏访问url+%00.PHP来执行其中的PHP代码
利用过程:
制作一张图片马
……/xxx.jpg%00.php
(将图片马当成php文件执行)
Nginx漏洞利用基本是:
……/1.jpg/1.php
……/1.jpg/1.php
……/1.jpg/%20\0.php
- 点赞
- 收藏
- 关注作者
评论(0)