CTF web 对变量覆盖漏洞的题目的总结分析

在做论剑场题目时,web1是有关变量赋值漏洞的题目,百度搜到了很多有关于变量赋值漏洞的文章,决定好好学习一下。


变量覆盖漏洞

变量覆盖指的是可以用我们自定义的参数值替换程序原有的变量值,变量覆盖漏洞通常需要结合程序的其他功能来实现完整攻击。
变量覆盖漏洞大多由函数使用不当导致,经常引发变量覆盖的漏洞有:extract()函数parse_str()函数import_request_variables()函数则是用在没有开启全局变量注册的时候,调用了这个函数则相当于开启了全局变量注册。另外部分应用利用== $$ ==的方式注册变量没验证已有变量导致覆盖。

挖掘经验

由于变量覆盖漏洞通常要结合应用其他功能代码来实现完整攻击,所以挖掘一个可用的变量覆盖漏洞不仅仅要考虑的是能够实现变量覆盖,还要考虑后面的代码能不能让这个漏洞利用起来。
由函数导致的变量覆盖比较好挖掘,只要搜寻参数带有变量的extract()、parse_str()函数,然后去回溯变量是否可控。关于我们说过的使用双 $ 符号注册变量会导致变量覆盖,我们可以通过搜“ $$”这个关键字去挖掘。

参考博客(https://blog.csdn.net/qq_36197704/article/details/81623825)

你可能感兴趣的:(web,变量覆盖漏洞)