[GXYCTF2019]禁止套娃

开始什么都找不到,那就扫一下目录看看,发现一个.git,那就用githack把它下下来,

第一个if过滤了伪协议,第二个不懂,看了说是(?R)?,把前面那个(和后面那个)递归,形成a(b(c()))这样子的可以通过,最后把一些函数给过滤了。

这题考的是无参数rce,这个看懂了就会做了。

localeconv()函数返回一包含本地数字及货币格式信息的数组,数组第一个值是 .

current()返回数组中的当前单元, 默认取第一个值,这样就把第一个值 . ,给取出来了

然后scandir返回指定目录中的文件和目录的数组,. 表示当前目录

最后用var_dump来输出到页面上

exp=var_dump(scandir(current(localeconv())));

发现flag文件在倒数第二个,那就先把数组顺序翻转,

array_reverse() 函数返回翻转顺序的数组。

在用next()将数组中的内部指针向前移动一位,就取到flag文件了

再用show_source来读取文件

 exp=show_source(next(array_reverse(scandir(current(localeconv())))));

理解每个函数的作用,合理利用即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值