gpt4 book ai didi

php - $_REQUEST 有多邪恶?有哪些可以接受的创可贴对策?

转载 作者:可可西里 更新时间:2023-10-31 23:07:52 24 4
gpt4 key购买 nike

最近我遇到了一些与 PHP 相关的流行答案,建议使用超全局 $_REQUEST,我认为这是代码味道,因为它让我想起了 register_globals.

您能否提供一个很好的解释/证据来说明为什么 $_REQUEST 是不好的做法?我将抛出几个我挖出的例子,并希望获得更多关于理论攻击向量和现实世界利用的信息/观点,以及系统管理员可以采取的合理步骤的建议,以降低风险(短重写应用程序...或者,我们是否需要去管理并坚持重写?)。

漏洞示例:默认的 GPC 数组合并顺序意味着 COOKIE 值会覆盖 GET 和 POST,因此 $_REQUEST 可用于 XSS和 HTTP 攻击。 PHP 让 cookie 变量覆盖超全局数组。 this talk 的前 10 张幻灯片举个例子(整个演讲很棒)。 phpMyAdmin exploit CSRF 攻击示例。

示例对策: 重新配置 $_REQUEST 数组合并顺序,从 GPCCGP,以便 GET/POST 覆盖COOKIE,而不是相反。使用 Suhosin阻止覆盖超全局变量。

(另外,不会问我是否认为我的问题是一个骗局,但令人高兴的是,对 "When and why should $_REQUEST be used instead of $_GET / $_POST / $_COOKIE?" 的压倒性 SO 回答是“从不。”)

最佳答案

按原样对待它:一种从用户那里获取数据的方法。它必须经过清理和验证,那么您为什么要关心它是以 POST、GET 或 cookie 的形式出现的呢?它们都来自用户,所以说“它们可以被欺骗!”是多余的。

关于php - $_REQUEST 有多邪恶?有哪些可以接受的创可贴对策?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com