[LitCTF 2024]百万美元的诱惑

第一关

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

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值