buuctf--[RoarCTF 2019]Easy Calc 1--WAF

点击链接,进入默认页面:
在这里插入图片描述是一个计算器的小应用
f12,查看源码可以得到提示:
在这里插入图片描述这样我们知道有个calc.php文件,还有个num变量
同时还知道设置了WAF
现在查看calc.php:
在这里插入图片描述因为显示了源码,我们也知道了会过滤一些输入

接下来开始正式解题:
首先WAF会限制我们对num的输入,不能出现字母
但是通过在num和?间加一个空格就可以绕过:
对比:
在这里插入图片描述

在这里插入图片描述接下来,我们需要从文件夹里找出flag,这就需要我们通过scandir()函数读取文件夹里的文件,再用print_r输出:
在这里插入图片描述不过由于 / 被过滤了,因此得换种方法,可以尝试用<chr(对应ascii码值)>来替代
例如这里我们需要替换 / ,而 / 的ascii码值为47,所以可以采用:

? num=print_r(scandir(chr(47)))

scandir() 函数返回指定目录中的文件和目录的数组

在这里插入图片描述这样我们可以发现flag很有可能在“flagg”文件里
接下来读取文件,用file_get_contents()函数,同时不要忘记要转成用chr()表示的形式:

? num=print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

file_get_contents() :把整个文件读入一个字符串中。

在这里插入图片描述得到flag:flag{43634ee2-aa2d-46e2-b96a-da5fe01f1588}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值