disable_functions PHP 中假设什么威胁模型?[关闭]

What threat model does disable_functions assume in PHP? [closed]

提问人:Onion 提问时间:11/6/2023 更新时间:11/6/2023 访问量:71

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

13天前关闭。

disable_functions允许禁用PHP中某些被认为是“危险”的功能。但是,我发现很难掌握这种功能假设了什么样的威胁模型。

如果您禁用某些功能来防止您自己的应用程序代码,那么这充其量只是一个胶带解决方案,用于对编写不佳的代码库进行猴子修补。

另一方面,如果您使用限制 RCE 攻击的范围,那么这是一项毫无意义的努力,因为在很多情况下,您的数据可以使用此黑名单中不存在的“简单”功能泄露。disable_functions

在我看来,定义这样的黑名单只会提供一种虚假的安全感。如果 RCE 攻击成功,那么您的执行上下文已经被破坏,将某些函数列入黑名单感觉就像是一场失败的战斗。

我缺少的有什么真正的安全优势吗?disable_functions

PHP 安全 RCE

评论

0赞 max 11/6/2023
禁用语言中最损坏的部分,以便 FNG 不使用它们。
0赞 Onion 11/6/2023
FNG代表什么?
0赞 max 11/6/2023
F***ing 新家伙。
3赞 Álvaro González 11/6/2023
这是一个非常古老的功能。我怀疑它是在考虑共享主机的情况下编写的,但我认为它在 2023 年并没有带来实质性的好处。
1赞 gview 11/6/2023
系统管理员可以使用它来限制服务器上最常用于漏洞利用的功能,而无需了解应用程序的任何信息。网络安全没有灵丹妙药。

答:

2赞 vodevel 11/6/2023 #1

以下是可能的用例:

  1. 配置共享主机以防止执行任意操作系统命令、操纵文件路径等。示例: .或者,例如,当函数的使用违反了允许的行为算法时,暂时阻止该函数。exec, shell_exec, passthru, popen, linkmail

  2. 为了简化组织中的代码控制,当禁止使用函数而不是监视它们(或为此编写自动规则)更容易时,然后花时间在代码中重写它们。

  3. 满足某些安全合规性(PCI DSS、SOX、HIPAA 等)。你拥有的支持你的安全的论据越多,就越容易获得所需的状态。

  4. 也许有人喜欢禁止自己使用某些东西。各种形式的自由,你知道;)

评论

0赞 Onion 11/6/2023
关于 1),对于现在使用容器、LVE 或其他形式的虚拟化的共享主机来说,这仍然是一个问题吗?disable_functions 似乎是 2000 年代共享主机安装的工具。
1赞 vodevel 11/6/2023
我不争辩,但共享主机是一个独立的收入世界,如果其中有相当多的人自 2000 年代以来一直没有改变,我不会感到惊讶