Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 195

代码注入

代码注入 是什么?

代码注入一类漏洞,攻击者提供的数据被应用作为代码解释并执行,导致在应用上下文中实现任意执行。


代码注入是一个广义漏洞类别:不受信任的输入被纳入应用程序后续作为程序代码、配置或标记处理的内容,从而被运行时执行。具体形式包括 JavaScript 与 Python 的 eval 注入、服务端模板注入、表达式语言注入(OGNL、SpEL)、触发 gadget 链的不安全反序列化,以及基于用户数据的动态类加载。成功利用通常获得以应用身份运行的远程代码执行,常成为接管主机或集群的跳板。防御方法包括绝不从输入构建代码、使用参数化 API、限制动态特性,以及最小权限运行与沙箱化。

示例

  1. 01

    eval(request.body.expr) 在 Node 服务中执行攻击者控制的 JavaScript。

  2. 02

    Java 应用对用户提供的脚本调用 ScriptEngine.eval。

常见问题

代码注入 是什么?

一类漏洞,攻击者提供的数据被应用作为代码解释并执行,导致在应用上下文中实现任意执行。 它属于网络安全的 攻击与威胁 分类。

代码注入 是什么意思?

一类漏洞,攻击者提供的数据被应用作为代码解释并执行,导致在应用上下文中实现任意执行。

代码注入 是如何工作的?

代码注入是一个广义漏洞类别:不受信任的输入被纳入应用程序后续作为程序代码、配置或标记处理的内容,从而被运行时执行。具体形式包括 JavaScript 与 Python 的 eval 注入、服务端模板注入、表达式语言注入(OGNL、SpEL)、触发 gadget 链的不安全反序列化,以及基于用户数据的动态类加载。成功利用通常获得以应用身份运行的远程代码执行,常成为接管主机或集群的跳板。防御方法包括绝不从输入构建代码、使用参数化 API、限制动态特性,以及最小权限运行与沙箱化。

如何防御 代码注入?

针对 代码注入 的防御通常结合技术控制与运营实践,详见上方完整定义。

代码注入 还有哪些其他名称?

常见的别称包括: 远程代码执行, 任意代码执行。

相关术语

参见