文件上传-白名单

get可以用%00截断

post就必须抓包修改16进制了

文件包含+木片马

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

假如说,我们可以看到源码,那么这里表明只允许上传jpg、png、gif文件,除此以外,其他都不能。

在这里插入图片描述
在这里插入图片描述
%00截断,php5.3.29以下才可以用

在这里插入图片描述

先上传,再检测

之前我们说了,上传过程中先是上传到临时目录,然后检测,不合规的就删除,也就是说她原来是把123.jpg上传到upload目录。
但是我们在临时目录前面加上我们自己的一句话木马(1.php)后面跟上%00截断
后面就会变成upload/1.php%00123.jpg,(这里的1.php%00是我们自己加的,因为后面她会跟123.jpg拼接,但是因为%00截断,后面拼接的又要失效。所以最后网页上显示的实际是1.php,而1.php后面的全部无效。)
最先是检测后缀名是否合规,判断到jpg合规,然后上传并移动目录,但是在移动的过程中,因为%00是结束符的意思,那么就把这个文件读取成了1.php,最后再把123.jpg重命名。

11(%00截断一)

在这里插入图片描述

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

12(%00截断二)

在这里插入图片描述
在这里插入图片描述
我们知道a的ascii码是61,那么我们改成00,然后放包就彳亍了。
在这里插入图片描述
在这里插入图片描述

13图片马绕过

查看源码:
image.png

可以看到,这里是通过读取上传文件的头2个字节来判断文件类型的,所以这里就只能上传图片马了。

制作图片马:
在这里插入图片描述

然后上传,查看图片元素:

image.png

OK,上传成功。

PS:由于上传后文件名的后缀即其所判断的图片类型的后缀,而且这里也不存在文件包含或者其他什么漏洞,所以无法用菜刀进行进一步的利用。

17 条件竞争。

在这里插入图片描述

原理

在删除之前访问的到旧木马,生成另一个新木马
这样就算原先的木马被删了,我们还是有新的木马在

旧木马写语句

<?php file_put_contents('nf.php','<?php eval($_REQUEST[\'a\'])?>')?>

或者

<?php file_put_contents('nf.php','<?php eval($_REQUEST[1])?>')?>

在这里插入图片描述

那么我们既然知道了,旧木马的上传位置,我们就要在旧木马被删除之前,疯狂访问他,让他在被删除之前生成新的木马。

这里可以先正常上传一张图片知道路径。
在这里插入图片描述
那么现在开始,2个跑包,一个上传包,一个访问包。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上传包设置好了,现在来设置访问包。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
然后我们再去访问新木马。这里应该是我访问包写错了,
在这里插入图片描述

方法二

还是一样的思路,只不过上传包就是普通的图片马,这里就访问包发生了点变化。
在这里插入图片描述
最后还是没跑出来,,方法一不是很确定,但是方法二是一定可以做出来的这个就看自己运气了
在这里插入图片描述
是不是觉得不行?
那么我们就来本地测试一下。
先上传一个一句话木马,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新木马写入成功!!!!!!!!!!!!!!!!!!!!!

本地测试成功!!!!!!!!!!!!

18和17一样的。

19 、move_uploaded_file()截断

不管你上传什么格式的文件,她都会统一变成指定格式的文件,
那么我们就可以利用之前的%00截断来做,但是她这里是post传参,我们就要去手动修改成url,也就是16进制。
在这里插入图片描述
记得要把后面截断的部分去掉,不然访问不了。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值