代码审计_extract变量覆盖

题目链接:https://ctf.bugku.com/challenges

题解:

打开题目

得到一段PHP代码

代码白话翻译: 
一个名叫flag的变量等于‘xxx’ 
将通过GET传过来的数组转为一个名为数组名,值为数组值的变量(如果新的变量和已有变量重名,会将已有变量替换) 
如果存在一个名叫shiyan的字符串 
将flag变量的值赋给名为content变量 
如果变量shiyan和变量content的值相同, 
就输出flag的值 
否则就输出Oh,no 
因为extract()会把符号表中已存在的变量名的值替换掉,所以制造Payload :?shiyan=&flag= 
也就是利用新传入的值为空的flag替换原有的flag的值。构造空等于空,成功输出flag的值 

即flag为:flag{bugku-dmsj-p2sm3N}

 

转载于:https://www.cnblogs.com/Gzu_zb/p/10371588.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值