文章预览
作为一个渗透测试的牛马人,还是要多写点代码。各位道友,对不?内卷起来吧!卷呀卷 变量覆盖常常被恶意攻击者用来跳过正常的业务逻辑,越过权限限制,恶意攻击系统,严重时将造成系统瘫痪。 1 全局变量覆盖 在PHP的安全配置中已经讲到(见公众号本系列PHP安全开发),当register_globals全局变量设置开启时,传递过来的值会被直接注册为全局变量而直接使用,这会造成全局变量覆盖。 如果通过$GLOBALS从浏览器动态获取变量,也会发生变量覆盖的情况。为了大家能够理解,我结合前面文章中全局变量配置的例子进行讲解。 一个简单的表单: 通过$GLOBALS获取浏览器提交的变量。 foreach ($_REQUEST as $param=>$value){ $GLOBALS[$param] => $value; //使用$GLOBALS造成变量覆盖 } if (authenticated_user()){ //认证用户是否登录 $authorized = true; } 攻击者在请求
………………………………