全局变量覆盖

在register_globals=On的情况下,变量的来源可能是各个不同的地方,比如页面的表单、Cookie等。针对于我们本次实验的代码(register_globals.php),我们可以通过下面这种方式进行变量覆盖:


可见,我们的代码中并没有接收变量a并对其赋值的操作,但是我们通过GET方式直接传参之后,我们的代码中就有了$a这个变量,且可以直接调用。那么想像一下,这样一来,如果你知道目标网站中某个变量的名称,是不是就可以这样来修改该变量的值,从而影响代码的运算。

extract()使用不当导致的变量覆盖

当然我们这里只是简单的复现一下(extract_ex.php),真实的CTF或者渗透测试、代码审计中,需要满足的

更多推荐

2021-09-13 网安实验-PHP安全特性(变量覆盖漏洞)