CTF实战练习:文件上传漏洞+文件包含漏洞

8 篇文章 1 订阅
7 篇文章 0 订阅

BugkuCTF:文件包含2

CTF实战练习:http://120.78.xx.xxx:8013

这道题目看起来又像是跟前一道题是差不多的样子,继续先查看index.php里面的内容:

哎~这次好像显示的并不是base64编码的内容,但是感觉起来这个信息一点用都没有,第二步,查看网页源代码:

从网页源代码里我们可以看出在JS脚本里包含了一个html页面,我们现在来访问一下这个页面,看看有什么东西:

通过文件包含访问信息之后发现页面没有返回任何信息,这个时候我们查看一下网页源代码:

从源代码里似乎我们找到了要找的东西,仔细观察注释的内容,注释里提示了一个页面叫upload.php,看文件名就能看出来,这指定是上传文件的页面了,我们继续通过文件包含的形式来查看,页面如下:

从页面信息我们可以看到网站通过白名单的方式限制了上传文件的类型,只能上传jpg、gif、png格式的图片文件,此时我们就需要绕过检测,将我们的木马文件进行上传,怎么绕过呢?

其实一开始我用了一种挺麻烦的方法拿到了flag,先说说我怎么做的吧。

我首先当然是使用burpsuite抓包,然后通过修改文件类型等进行绕过检测

在抓取到的信息中,我们修改一下Content-Type的值,改为image/jpg,修改完之后,点击Forward重传数据包,此时我们发现,页面显示信息文件上传失败,这说明不能通过这种绕过方式来进行绕过。

那现在怎么办呢,既然只要上传图片,那么我们可以构造图片木马进行上传,构造图片木马我们需要事先准备一张jpg格式的图片和一个写好的一句话木马文件,cmd打开命令行,使用如下图命令进行制作图片木马文件:

制作好了图片木马文件之后,我们修改一下文件的扩展名,修改为 .jpg.php,现在再利用burpsuite进行抓包上传,使用%00截断方式进行绕过

此时我们发现页面回显信息,文件已经上传成功,根据文件名提示,我们利用文件包含访问一下我们刚刚上传的图片木马文件

页面无回显信息,说明木马文件执行成功,现在我们使用中国菜刀来链接一下 试试能否访问成功

菜刀连接成功,说明我们的木马文件生效了,连接成功之后,我们就可以看到flag的所在地了

利用这种方法做呢比较麻烦,最简单的方法就是直接上传我们制作好的图片木马文件,然后直接根据路径去连接木马就可以了。

 

总结:在CTFweb题中关于文件类的题目经常会是这种文件上传漏送和文件包含漏洞一起使用,这时候就还是要合理利用方法,避免像我这样兜兜转转一大圈然后最后使用简单方法一样能做的出来。另外在这个题目中,关于使用的木马也是有要求的,不能使用最普遍使用的那个一句话木马进行图片木马的制作,像<?php @eval($_POST['pass']);?> 这个木马是没法办用的,也不是说没办法用,可以用但是最后菜刀连接不上我们的木马文件,原因是,在解析过程中<和php都被过滤掉了,这就很麻烦,这是用我们换一种木马的写法:<?=eval($_POST['shell']);这个木马最后是可以连接的。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

烟雨天青色

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

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

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

打赏作者

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

抵扣说明:

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

余额充值