【漏洞利用】【原理、利用过程】中间件解析漏洞

举报
黑色地带(崛起) 发表于 2023/02/16 13:35:14 2023/02/16
【摘要】 【漏洞利用】【原理、利用过程】中间件解析漏洞

【漏洞利用】【原理、利用过程】中间件解析漏洞

 

目录

编辑解析漏洞:  

原理:

变化因素:

编辑熟知的中间件(解析漏洞) 

 编辑0x01    IIS5.x-6.x解析漏洞:

(1)目录解析漏洞(IIS6.0)

        原理:

        利用过程:

(2)文件解析漏洞

        原理:

        利用过程:

(3)可被解析的文件类型

 编辑0x02   IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞 

        原理:

        漏洞利用:

 编辑0x03   apache解析漏洞 

(1)文件解析规则漏洞

        原理:

        利用过程:

(2)文件配置漏洞:

        原理:

        利用过程:

 编辑0x04    Nginx解析漏洞

空字节代码执行漏洞(Nginx <8.03 )

        原理:

        利用过程:

Nginx漏洞利用基本是:

 编辑

 

解析漏洞:

原理:

(中间件漏洞)

对于用户精心构造的文件,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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。