> 文章列表 > php @

php @

php @

什么是 ' .php @.'?

' .php @.'是一个漏洞,其发现于2018年。该漏洞主要针对PHP代码的安全问题,并影响到了PHP 7.x版本。攻击者可以通过该漏洞利用PHP解释器中的数据包转换机制,将注入攻击代码的文件扩展名改变为允许解释器执行的.php文件。这样,攻击者就可以执行任意代码,通过修改服务器上的敏感文件,危害服务器的安全。

漏洞的原因是什么?

这种漏洞的源头在于PHP代码解析器中的数据包解释机制。当解释器接收到一个HTTP请求中的文件时,会尝试根据文件名和文件扩展名来判断如何处理这个文件。如果有一个文件名被命名为“file.php.@.jpg”并且服务器上没有以“.jpg”为扩展名的文件,PHP解释器将认为该文件是PHP文件,因此将其作为PHP文件解析和执行。

如何防止 ' .php @.' 漏洞?

首先,建议PHP开发人员在编写代码时使用“strict_type”检查变量类型,以加强针对攻击者的保护。其次,应该使用合适的文件扩展名来区分不同类型的文件,以避免PHP解释器将其他类型的文件误解析为PHP代码。此外,还可以使用流行的安全工具如ModSecurity和Web Application Firewall (WAF),来保障服务器不受到攻击。

影响范围有多大?

' .php @.'漏洞范围涵盖了各种Web服务器平台,例如Apache和Nginx等。事实上,许多互联网站点都可能受到该漏洞的影响。此外,由于PHP是互联网上最受欢迎的Web开发语言之一,因此不难想象,随着互联网的普及,该漏洞的威胁将不断增加。

结论

作为一种新兴的安全威胁, '.php@.'漏洞仍需要PHP开发人员重视。尽管PHP解释器在执行PHP代码时有其自身的限制,但仍有可能遭受攻击者的攻击。为了保障服务器的安全,建议通过开发严格的代码和使用安全工具来规避该漏洞。此外,随着该漏洞的越来越广泛的传播,PHP开发人员和网站管理员也应该时刻保持警觉,以防范此类安全威胁的发生。