文件上传漏洞之——二次渲染逻辑性漏洞绕过

探讨了二次渲染逻辑中的安全漏洞,详细说明了通过条件竞争进行爆破上传的复现步骤,包括上传图片马并利用特定参数进行攻击。

漏洞形成
二次渲染的缘分逻辑存在漏洞,先将文件上传,之后再判断,符合就保存,不符合删除,可利用条件竞争来进行爆破上传
复现
1.上传一个图片马,抓包,访问图片马,抓包,发送到inturde添加?a=1爆破点
在这里插入图片描述
在这里插入图片描述
2.运行一万次,可看到有部分访问成功
在这里插入图片描述

原理:文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命 令的能力。 服务器解析漏洞 apache:绕过程序检测:当碰到不认识的扩展名时,将会从后向前解析,直到碰到认识的扩展名为止,如果都不 认识,则会暴露其源代码。 iis:当建*.asa ,*.asp,*.cer格式的文件夹时,其目录下的任何扩展名的文件都将被IIS当做asp文件进行解 析。 nginx:任意文件名后边加xxx.php,就会被当成php文件解析。 绕过方法 如何判断是一个黑名单还是白名单 :上传一个不存在的后缀名,如果上传成功则表示是黑名单检测, 如果上传失败则表示是白名单检测。 1.黑名单 a.后缀名不完整 .php5 .phtml等 b. .htacess配置文件(先把php文件改成png格式上传绕过验证,在上传一个.htaccess()文件,把png 图片当php解析) c.大小写,双写 d.空格,点,空格点 e.特殊字符::$DATA :不让他检测后缀名。 2.白名单:%00截断1.php%00.jpg,图片马,网站的脚本类型解析图片 3其他:/.绕过,直接加/.,数组加/. 条件竞争(几率很小) 二次渲染:原理 在我们上传文件后,网站会对图片进行二次处理(格式、尺寸要求等),服务器会把里面的内容进行 替换更新,处理完成后,根据我们原有的图片生成一个新的图片并放到网站对应的标签进行显示。 给你一个站怎么测: 1.先找到可以文件上传的地方,比如头像,附件啊等等 2.先上传一个正常图片,看功能点是否可以正常使用 3.上传正常图片( 抓包修改文件后缀名为对应网站脚本语言 )可以检测出网站是否对上传进行了文件 后缀名的监测。 4.成功·--->没有 5.失败——>有检测,接着判断白名单or黑名单 防御: 1. 对上传文件进行类型和大小验证。 2. 避免直接将文件上传到 Web 目录下。 3. 检查文件名和内容。 4. 重新命名上传的文件。 5. 禁止执行上传的脚本。 如何绕过WAF 1、添加垃圾数据 2、多加一个filename 3、交换name和filename的顺序等 H5 条件竞争型的文件上传漏洞 查看源码可发现该文件先上传后检查;因此在上传和删除之间存在一个极短的时间差,如果我们能利用 这极短的时间差就能导致条件竞争,也就是一直发包让它来不及检查和删除,然后在这期间访问上传的 文件再创建一个新文件(它不会检查新生成的文件),之后我们连接这个新文件。 功能是自己创建文件的一句话木马文件: <?php $f=fopen("newnew.php","w"); fputs($f,'<?php @eval($_POST['123']);?>'); ?> 上传抓包在发送到intruder,进行多次发包,然后访问该文件,抓包,发送到intruder,使不断访问 test.php文件,照成文件删除和访问条件竞争,从来产生新文件
03-27
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值