java中的接口是类吗
269
2022-10-10
变量 覆盖漏洞----$$(变量提升)
变量覆盖漏洞经常引发变量覆盖漏洞的函数有:extract(),parsestr()和importrequestvariables()和$$(可变变量)
二、从源码文件中可以看出,要想获得flag,你必须知道原来的flag,那是不可能的。这个时候我们就可以利用变量覆盖漏洞。1、我们可以看到在第一个数组
foreach ($_GET as $key => $value) $$key = $$value
这个遍历中出现$$key = $$value,这里将键和值又当做变量来使用。就这个题目来说,我们用get方法传递:_200=flag,经过$$key = $$value的处理后,就会变为$_200=$flag,这样就会将原来的$_200的值覆盖掉,换成$flag的值3、第二个数组遍历
foreach ($_POST as $key => $value) $$key = $value;
这个遍历中出现$$key = $value,这里将只是将数组键当做下一个变量,将数组的值当做这个$$key的值。例如post方法传入flag=abc,则处理后变成$flag=abc。这样就造成将我们需要获取的flag的值给覆盖掉了。
三、通过多重分析,我们可先将$flag的值通过第一个数组遍历赋值给$_200,然后通过die($_200)输出出来,不过同时我们应该满足源码的判断条件,通过post方法传递flag的值。这里我们已经将flag的值给了$_200所以不用再担心将flag的值覆盖掉,可以随便输入。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~