[WUSTCTF2020]朴实无华 1

知识点:intval特性 ’==‘  linux绕过空格

进题目一串乱码,但有个bot,而网页中带bot,robots.txt
在这里插入图片描述
进robots.txt
在这里插入图片描述
进入fAke。。。
在这里插入图片描述
进入fl4g.php可以看到三层过滤。
1、第一层:要使得intval($num) < 2020 && intval($num + 1) > 2021
在这里插入图片描述
在做之前先看个东西,这两张图说明了,intval会解析科学计数法,且当解析字符串时会保留第一个字符前的数字。
在这里插入图片描述
那么这层可以传个num=1e10;

原因:
$num = $_GET[‘num’];传入这边时是字符串,所以intval($num) == 1;
intval($num + 1);这边时虽然传入的还是字符串但和一相加时会转化为int类型;

2、第二层:$md5==md5($md5)
在这里插入图片描述
同理先回顾一下==,字符和数字相比时字符为0,若字符前有数字则会保留数字,当然也能比较科学计数;
所以这层只要使得md5加密前后开头有个0e就行了,毕竟0的n次方为0;

md5=0e215962017

3、第三层:不能有空格,且把cat替换为wctf2020
在这里插入图片描述
ls
在这里插入图片描述
虽然它过滤了空格和cat,但可以用<和tac代替;
在这里插入图片描述

?num=1e10&md5=0e215962017&get_flag=tac<fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值