LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【Web渗透】文件解析漏洞

admin
2023年12月7日 12:31 本文热度 550

文件解析漏洞是指由于应用程序对上传的文件类型和内容没有充分的验证和过滤,导致一些特殊文件被 IIS、apache、nginx 或其他 Web服务器在某种情况下解释成脚本文件执行。导致攻击者可以上传恶意文件,绕过应用程序的安全限制,执行恶意代码或者访问敏感数据的漏洞。

常见解析漏洞:

apache解析漏洞

Apache解析漏洞主要是因为Apache默认一个文件可以有多个用.分割得后缀,当最右边的后缀无法识别(mime.types文件中的为合法后缀)则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准)

例如:

dff.php.owf.rar 这个文件名 .owf和.rar 这两种后缀是apache不可识别的解析,apache就会把 dff.php.owf.rar解析成 dff.php 。

其实漏洞的产生, 是由于运维人员在配置服务器时,为了使 apache 服务器能解析 php ,而自己添加一个handler,它的作用也是为了让 apache 把 php 文件交给 php_module 解析 , 但是注意到它与 SetHandler: 它的后缀不是用正则去匹配的。所以 ,在文件名的任何位置匹配到php后缀,它都会让php_module解析。

AddType application/x­httpd­php .php

修复:不要使用AddHandler, 改用 SetHandler, 写好正则 , 就不会有解析问题
Apache换行解析漏洞(CVE-2017-15715)

影响范围:2.4.0-2.4.29版本

原因:合法后缀配置文件中的正则表达式中$不仅匹配字符串结尾位置,还可以匹配\n或\r,在解析php时,1.php\x0A将按照.php进行解析,而’.php\x0A’ != ‘.php’,可能过滤时过滤了.php但没有过滤.php\x0A从而实现绕过。

配置文件:过滤后缀名.php

<FilesMatch \.php$>
     SetHandler application/x-httpd-php
<FilesMatech>`>

可以看到在正则中是 \.php$, 因为结尾有个 $ 符号,结合上述原理, $ 匹配配 '\n' 或 '\r' ,所以我们修改数据包在文件名后加\n , \n 的十六进制为 0a

修复:

    升级到最新版本
    在httpd.conf中加入其他正则表达式。

nginx解析漏洞
nginx<8.03

由于nginx默认是用cgi解析php的(即开启fast-cgi模式),由于nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,对于任意文件名,在后面添加/xxx.php(xxx)为任意字符后,即可将文件作为php解析,因此和IIS一样制作图片马。

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>

直接访问http://xx.xx.xx.xx/1.jpg/.php

修复:

1、 将php.ini文件中的cgi.fix_pathinfo的值设置为0

2、 php-fpm.conf中的security.limit_extensions后面的值设置为.php

nginx 0.5,0.6, 0.7 <= 0.7.65, 0.8 <= 0.8.37

nginx遇到%00后和fastcgi解析不一致,所以可以上传一个1.jpg图片马,然后访问http://xx.xx.xx.xx/1.jpg%00.php,这样就将jpg文件当做php文件执行了。

修复:

升级nginx版本

IIS解析漏洞
IIS 5.0/6.0

在某个.asp(.php)文件名的文件夹下的任何文件都将作为asp(php)文件执行,

即假设你能控制文件目录名,可以改变文件名为.asp(.php),然后写入一个jpg图片马,访问http://xx.xx.xx.xx/1.php/1.jpg可以连接

修复:

升级IIS版本
IIS 6.0

如xx.asp;.jpg,由于IIS不解析;后面的内容,所以就将此文件当成xx.asp进行解析,可以利用,同时IIS还可以解析xx.asa xx.cer xx.cdx文件

修复:微软认为这不是一个漏洞,所以要自己修复。

    限制上传目录执行权限,不允许执行脚本。
    不允许新建目录。
    上传的文件经过重命名

IIS 7.x

利用条件:在php.ini里修改cgi.cgi_pathinfo=1,在fast-cgi模式下运行

当在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。

制作图片马,在当前位置下新建一个shell后门文件

Payload :<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>

访问 图片后面加 /xx.php即可解析

修复:

配置cgi.fix_pathinfo(php.ini中)为0(默认情况下值为1)并重启php-cgi程序。
windows解析漏洞

    上传jsp%20的文件或者jsp.,windows会删除.和空格
    上传jsp::DATA文件,windows会不检测DATA后面的后缀名,且保留DATA之前的文件名
    上传不规则字符如 2.jsp:1.php ,windows会删除不规则:符号后面的内容


该文章在 2023/12/7 12:31:21 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved