第一关
md5弱类型绕过,is_numeric可用a2025绕过
payload1:a=QNKCDZO&b=240610708&c=2025a
也可以数组绕过
a[]=1&b[]=2&c=2025a
不过多赘述
第二关
告诉了flag在12.php,所以我们只需要构造出12就好了
但是这里过滤了很多,但是没有过滤$,(),~关键字符,我们可以利用这几个来完成任何数字构造
在linux终端中
$(())用于命令替换和算数扩展
echo $(())回显0
对于取反运算符
即正数a的取反可以看作-(a+1),而负数-a的取反则是a-1。这种方法简化了计算过程,且对正数和负数都适用。
echo ~$(())回显~0
而对~0进行算术运算就得到-1 所以对~$(())
外面在套一个$(())就可以得到-1
echo $((~$(())))回显-1
而获取-2就可以如下构造
实际上就是$((-1-1))也就是-2
然后对-2进行取反得到正数1
这样操作下来,我们就可以构造任何数字
所以构造数字12操作如下
还是不理解的可以先看探姬师傅的bashfuck