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

Extract()函数引发的变量覆盖漏洞数组

该函数使用数组键名做为变量名,使用数组键值做为变量值。可是当变量中有同名的元素时,该函数默认将原有的值给覆盖掉。这就形成了变量覆盖漏洞。ide

1、咱们来查看一串代码:
变量覆盖漏洞----extract()函数
一、文件将get方法传输进来的值经过extrace()函数处理。
二、经过两个if语句分别判断是否存在gift变量,和变量gift的值和变量content的值是否相等。变量content的值是经过读取变量test的值获取到的。若是两个变量相等输出flag。若是不相等,输出错误。函数

2、可是咱们并不知道test的值是什么?因此咱们使用变量覆盖漏洞,从新给test赋值。测试

例如:$GET[‘test’]=’a’,被extract()函数处理后,就变成了$test=’a’,有与之同名的变量$test = '';,将其值覆盖掉。而且get方法传输的gift参数的值也为a。这样,$gift=$content。就能够得到flag。code

构造咱们的payload:blog

Get方法传值:?gift=a&test=a.

最后进行测试:
变量覆盖漏洞----extract()函数
获得咱们求之不得的flag。get

相关文章
相关标签/搜索