攻防世界web warmup writeup

本文详细解析了如何在渗透测试中绕过网站的安全检查,通过精心构造URL获取隐藏的flag信息。从分析源代码到理解checkFile函数,再到利用URL编码技巧,最终成功定位并获取flag。

打开给的环境发现一个滑稽…于是查看源代码看看有什么提示
在这里插入图片描述根据提示打开目标网页
在这里插入图片描述
发现源代码网页,其中还提示了一个叫做hint.php的页面,打开它发现是
在这里插入图片描述
它提示在这个文件里有flag,先保留这个信息继续代码审计
在这里插入图片描述

根据代码我们知道
1.传入一个字符串file值
2.file值能通过checkFile函数的检验
3.不然就给一个大滑稽

再对checkFile函数进行查看

发现以下几点,
1.传入的file必须是字符串
2.传入的值必须在whitelist白名单中
3.然后用mb_substr函数对page进行?前的截取,若没有?则截取整个page变量
4.判断截取后的page是不是在白名单中
5.对截取后的page进行一次url解码并对其进行?前截取判断其在不在白名单中
6.都成功则可以进行访问

为了绕过进行url解码再截取page判断这个过程,我们可以在url中加一个被二次url编码的“?”(%253f)

对url进行构造得

 http://220.249.52.133:37915/source.php?file=source.php%253f../ffffllllaaaagggg

发现并没有flag,但是根据以上分析应该没有问题,只是不知道flag在哪层目录里,于是逐层往上累加最终得到

http://220.249.52.133:37915/source.php?file=source.php%253f../../../../../ffffllllaaaagggg

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值