题目地址:https://ctf.show
对于这个题第一个坑要过的话必须得了解php的switch case语句。
在这里举个例子:
$number=1;
switch ($number)
{
case "1":
echo "one";
case "2":
echo "two";
case "3"
echo "three";
}
输出结果为 one two three
如果在 echo “one”;后面加上break,输出结果为 one。这里应该就明白了吧。如果不加break会一直执行下去,直到结束或者遇到break。
在这个题目中有一条限制 sleep($c);就是我们输入的c是多少就会等待多少秒然后执行。所以我们想要输出$url就得找到一个小的case。我们可以看到下图中的c=3显然满足。case 3 后面没有break会接着执行下面的echo "$url"

本文详细解析了CTF竞赛中PHP注入攻击的过程,包括利用switch-case语句的特性,绕过过滤器,以及使用联合注入技术爆破数据库信息。最终通过读取本地文件获取隐藏的flag。
最低0.47元/天 解锁文章





