PHP代码注入
描述:PHP代码注入
当应用程序将可控制的数据合并到由代码解释器动态评估的字符串中时,就会出现服务器端代码注入漏洞。如果未严格验证用户数据,攻击者可以使用精心设计的输入来修改要执行的代码,并使用服务器执行的任意代码。
服务器端代码注入漏洞通常非常严重,并导致应用程序的数据和功能以及托管应用程序的服务器的完全妥协。也可以将服务器用作对其他系统进行进一步攻击的平台。
修复:PHP代码注入
只要有可能,应用程序应避免将可控制的数据纳入动态评估的代码中。在几乎每种情况下,都有实施应用程序功能的替代方法,这些方法无法操纵以将任意代码注入服务器的处理中。
如果将用户提供的数据合并到动态评估的代码中是不可避免的,则应严格验证数据。理想情况下,应使用特定接受值的白名单。否则,仅应接受简短的字母数字字符串。包含任何其他数据的输入,包括任何可能的代码Metacharacter,应拒绝。
脆弱性分类
- CWE-94:不当控制代码(“代码注入”)
- CWE-116:输出的编码不当或逃脱
- CWE-159:未能消毒特殊元素
- CAPEC-193:PHP远程文件包含
- CAPEC-242:注射代码
- CAPEC-252:PHP本地文件包含
典型的严重程度
高的
类型索引(HEX)
0x00100c00
类型索引(十进制)
1051648