首页 > 其他 > 详细

代码审计_extract变量覆盖

时间:2019-02-15 19:47:52      阅读:254      评论:0      收藏:0      [点我收藏+]

题目链接: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}

 

代码审计_extract变量覆盖

原文:https://www.cnblogs.com/Gzu_zb/p/10371588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!