ctfshow web418

简单说一下这个题,因为某些原因让我对他印象深刻。

题目进来是这样的,但是这里有一个clear函数,它是一个自定义函数。就在这个页面使用ctrl+f搜索clear最后一个就是clear的声明。它被藏在页面最下方。

解题:

这里有extract函数,简单来说extract函数会把数组的key转换成变量名,把数组的value转换成这个新变量的值。比如数组里有key=1,那么经过extract处理后就变成了$key=1,这个可以通过打印全局变量查看到。

题目代码里说了有后门,但是这个后门其实是无法利用的。原因是:extract函数处理出的结果最终都是string类型的变量,而本地使用后门之前的if判断语句是三个等号的强类型比较,因此无论怎么操作$key的值都是无法进入到后门的。

所以只能使用另外的else里的代码。结合clear函数的声明得到最终payload

最后用post传递下面的参数,其实还是使用了extract函数,只是是为了else里面代码执行做准备

POST:
die=0&clear=;cp flag.php 1.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值