专栏名称: 船山信安
船山院士网络安全团队唯一公众号,为国之安全而奋斗,为信息安全而发声!
今天看啥  ›  专栏  ›  船山信安

原创 | PHP变量安全之全局变量覆盖

船山信安  · 公众号  ·  · 2024-10-17 00:00

文章预览

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

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览