WgpSec CTF baby php wp

打开页面就是源码,,代码审计啊

其意思是,

1.至少设置一个get或post且key为flag

2.其value不能等于flag

3.post遍历,但是是  $$key,也就是变量覆盖

4.get遍历,不过key和value都是双$

5.输出flag

 

这里最关键的就是双$也就是变量覆盖了,

因为key必须为flag,对于post来说,你传的value都会赋值给$flag

但对于get来说,你传的value还必须有值。

最后输出$flag的值,如果想获取到flag,那么其值必须不能变动

 

这里我就是传get

且参数有2个,

payload:

?a=flag&flag=a

对get遍历那儿的意思就是

$a=$flag

$flag=$a

$a是随便写的一个变量

于是flag值依旧没有变化,成功获取flag

 

 

知识点:双$变量覆盖

学习大佬:https://www.cnblogs.com/bmjoker/p/9025351.html

 

 

posted @ 2020-05-16 20:03  为之。  阅读(348)  评论(0编辑  收藏  举报