php excract变量覆盖

例题:

关于extract的解释:

 

 

 paylo

所以当传入的变量名字相同,则会覆盖原来的变量

根据题意我们传入flag,shiyan使两者值相等即可:

payload:php?shiyan=&flag=                 这里传入空

02 错误类型归纳

不严谨的编程手法。

官网也有提示,严谨使用此函数。

 修复方案

extract($_GET);

改为

extract($_GET,EXTR_SKIP);   #禁止覆盖

或者

extract($_GET,EXTR_PREFIX_SAM,"usr");   #冲突变量,添加前缀


参考资料

感谢PaintChen :https://www.cnblogs.com/goodswarm/p/10995256.html

感谢 菜鸟教程

猜你喜欢

转载自www.cnblogs.com/llww/p/12155760.html