buu web:[RoarCTF 2019]Easy Calc

打开靶机,可以看到是一个简单的计算功能

看一下源代码,发现了我看不懂的js代码

但是里面有说到一个calc.php,看一下里面有什么

soga,原来是waf,可以传入num参数,但是黑名单结合正则匹配过滤了不少字符,试了一下发现还不能是字母,最终可以通过eval函数执行命令。

没啥思路,去看一下别人的wp,原来可以用php字符串解析特性来绕过waf,就是可以在num前加个空格,变成“ num”,而不是“num”。但php在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,神奇

下面就可以通过这些函数来读取flag

var_dump():函数用于输出变量的相关信息

scandir():列出参数目录下的内容

readfile():读取文件内容

chr():将ascii码转换成字符(chr(47)-->'/')

利用scandir()找到flag在哪,再利用readfile()读取flag(这里我不知道为什么不可以用system函数,知道的大哥可以评论区留个言,万分感谢)

首先读取根目录下的文件

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

 可以看到有一个f1agg文件

? num=readfile(chr(47).f1agg)读出flag

 当然,其他文件读取函数也是可以的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值