CTF通关录

CTF通关录-warmup


往常一样打开题目
得到一个这个
在这里插入图片描述
这个表情包,卧槽,好猥琐!!!!
当然我知道,这肯定是迷惑我们,源码看一波:
在这里插入图片描述
果然,有玄机,source.php 访问一下
在这里插入图片描述
好的,又是一波源码审计,还好不是js,不然头大得很
简单的描述一下,这又是一个文件包含的php文件,可以传入参数file
但是这个是白名单,可以看到白名单里有个hint.php
尝试搞一下咯
在这里插入图片描述
可恶!!!!,虽然不是flag,但是也给出了提示了flag在这个文件ffffllllaaaagggg
那么怎么才能绕过这个白名单嘞?
直接看checkFile这个类吧
在这里插入图片描述
整体逻辑至上而下就是先检查你这个page里面有没有值,是不是字符串
然后检查内容是否在白名单
然后再通过截取字符?前面的内容再来检测是否在白名单
然后关键点来了这里进行了url解码
然后重复上面步骤。
这里我有一个思路就是

include函数有个神奇的功能,就是如果第一个包含的文件找不到,它接着包含/后面的文件, 它这里值检测了?前面的内容是否在白名单里,我可以用?作为分隔后面再加上我要包含的文件,/前面的文件名字以及类型因为有个?肯定不会包含成功的,他就会包含我/后面指定的文件,看样子,思路很正确,是不是就试一下了
这里是引用

试了一下,成功的包含了hint.php这个文件
在这里插入图片描述尝试着去包含ffffllllaaaagggg这个文件 这一层目录没有返回为空
尝试上层目录,尝试上层目录,尝试上层目录
在这里插入图片描述我吐了,我这下终于知道它文件名为啥重写4次了 暗示四个…/
这里再用第二个思路,我把?二次url编码成%253f,把第一个截取?前面的截取字符这个语句绕过,让它截取不到,还是原传入的page内容,然后就让它解码,然后再截取?前面的字符,就能过了
在这里插入图片描述如果有多种思路,建议都尝试一下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

0XAXSDD

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

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

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

打赏作者

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

抵扣说明:

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

余额充值