我已经进行了一些研究,并开始构建项目网站上记录的PHP 5内置函数的完整列表。
利用disable_functions
和/或disable_classes
的性能成本是多少?
这些全局设置是如何工作的?
请注意,我看到了一个非常有价值的可利用函数列表和RIPS扫描仪。
然而,实际阻止PHP代码中未使用的所有函数和类似乎更完整。
disable_functions
从PHP函数列表中删除函数处理程序(指向实际函数实现的指针),并将其替换为显示警告的伪函数的处理程序:
Warning: system() has been disabled for security reasons in Command line code on line 1
这只是PHP的一个处理时间(每次调用它——访问脚本)来完成这个替换。
我对disable_classes
不太确定,因为我从未使用过它。
但是,请不要将其视为安全功能-请查看此功能以了解更多信息
PHP中的任何错误(溢出、释放后使用等)都会允许潜在的攻击者篡改进程内存,并修复函数处理程序以指向仍在内存中的正确函数处理程序-这将导致重新启用禁用的函数。
在共享主机环境中始终是分开的。看看我对另一个类似问题的回答。