bugku 变量覆盖

Posted serendipity-my

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bugku 变量覆盖相关的知识,希望对你有一定的参考价值。

bugku 变量覆盖

技术图片
代码审计,注重变量
变量覆盖一般使用置空的方式让他们的值相等
解题

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

以上是关于bugku 变量覆盖的主要内容,如果未能解决你的问题,请参考以下文章

bugku pwn2 wp(#edb盲调)

变量覆盖

变量覆盖-高级篇(动态覆盖,extract综合)

变量 覆盖漏洞----$$

代码审计变量覆盖漏洞详解

变量覆盖漏洞----extract()函数