SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

安全编码指南是如何演变的

Pieter De Cremer
Veröffentlicht 15. September 2017
Zuletzt aktualisiert am 10. März 2026

上周我正在研究 Java Spring 中的漏洞,以更新我们的安全编码指南。我正在研究我们平台上现有的挑战,并通过在JSP页面中显示网址参数在XSS上发现了一些挑战。不正确的代码示例看起来与以下内容类似:

<input type="text" name="username" value="${param.username}">

正确的解决方案是完全删除 URL 参数,描述中提到,以正确的方式转义 URL 参数也是安全的。

现在,我的工作是以开发人员清楚的方式制定安全编码指南,并在编写安全代码的同时尽可能减少对他们的限制。在这种情况下,我更愿意让开发人员保留其预期功能,并建议他们通过转义 URL 参数来安全地执行此操作。这样,代码就不再包含 XSS 漏洞了。上面的例子可以这样保护:

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

这是我们几天来的安全编码指南,直到我偶然发现了一个 关于表达式语言注入的 OWASP 页面。本页介绍如何滥用 Spring 表达式语言 (SpEL) 进行注入,从而产生一些严重影响,包括远程代码执行。我有责任弄清楚是否存在符合我们安全编码指南的代码仍然会受到此漏洞影响的情况。因此,我编写了一个快速测试应用程序来评估 SpEL 表达式,并测试了使用和不使用 Xml 转义的输入,看看能否找到一些无法捕捉到的场景。我做到了,有些恶意表达式不包含 XmleScape 捕获的任何字符。我在我们的 github 上发布了工作演示,你可以找到 这里

当然,我更新了我们的安全编码指南,现在内容是:“不要使用 Spring 表达语言 (SpEL) 显示或评估 URL 参数。”

此问题的总体影响很大,原因如下:-攻击者可以修改和调用应用程序服务器上的功能。-未经授权访问数据和功能,以及账户劫持和远程执行代码。-成功攻击带来的机密性和完整性问题。

https://www.owasp.org/index.php/Expression_Language_Injection

Ressourcen anzeigen
Ressourcen anzeigen

上周我正在研究 Java Spring 中的漏洞,以更新我们的安全编码指南。

Interessiert an mehr?

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Pieter De Cremer
Veröffentlicht 15. September 2017

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Teilen auf:
LinkedIn-MarkenSozialx Logo

上周我正在研究 Java Spring 中的漏洞,以更新我们的安全编码指南。我正在研究我们平台上现有的挑战,并通过在JSP页面中显示网址参数在XSS上发现了一些挑战。不正确的代码示例看起来与以下内容类似:

<input type="text" name="username" value="${param.username}">

正确的解决方案是完全删除 URL 参数,描述中提到,以正确的方式转义 URL 参数也是安全的。

现在,我的工作是以开发人员清楚的方式制定安全编码指南,并在编写安全代码的同时尽可能减少对他们的限制。在这种情况下,我更愿意让开发人员保留其预期功能,并建议他们通过转义 URL 参数来安全地执行此操作。这样,代码就不再包含 XSS 漏洞了。上面的例子可以这样保护:

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

这是我们几天来的安全编码指南,直到我偶然发现了一个 关于表达式语言注入的 OWASP 页面。本页介绍如何滥用 Spring 表达式语言 (SpEL) 进行注入,从而产生一些严重影响,包括远程代码执行。我有责任弄清楚是否存在符合我们安全编码指南的代码仍然会受到此漏洞影响的情况。因此,我编写了一个快速测试应用程序来评估 SpEL 表达式,并测试了使用和不使用 Xml 转义的输入,看看能否找到一些无法捕捉到的场景。我做到了,有些恶意表达式不包含 XmleScape 捕获的任何字符。我在我们的 github 上发布了工作演示,你可以找到 这里

当然,我更新了我们的安全编码指南,现在内容是:“不要使用 Spring 表达语言 (SpEL) 显示或评估 URL 参数。”

此问题的总体影响很大,原因如下:-攻击者可以修改和调用应用程序服务器上的功能。-未经授权访问数据和功能,以及账户劫持和远程执行代码。-成功攻击带来的机密性和完整性问题。

https://www.owasp.org/index.php/Expression_Language_Injection

Ressourcen anzeigen
Ressourcen anzeigen

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Erlaubnis einholen, Ihnen Informationen über unsere Produkte und/oder relevante Themen zur Sicherheit von Codes zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Einreichen
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analyse“-Cookies. Nach Abschluss können Sie diese wieder deaktivieren.

上周我正在研究 Java Spring 中的漏洞,以更新我们的安全编码指南。我正在研究我们平台上现有的挑战,并通过在JSP页面中显示网址参数在XSS上发现了一些挑战。不正确的代码示例看起来与以下内容类似:

<input type="text" name="username" value="${param.username}">

正确的解决方案是完全删除 URL 参数,描述中提到,以正确的方式转义 URL 参数也是安全的。

现在,我的工作是以开发人员清楚的方式制定安全编码指南,并在编写安全代码的同时尽可能减少对他们的限制。在这种情况下,我更愿意让开发人员保留其预期功能,并建议他们通过转义 URL 参数来安全地执行此操作。这样,代码就不再包含 XSS 漏洞了。上面的例子可以这样保护:

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

这是我们几天来的安全编码指南,直到我偶然发现了一个 关于表达式语言注入的 OWASP 页面。本页介绍如何滥用 Spring 表达式语言 (SpEL) 进行注入,从而产生一些严重影响,包括远程代码执行。我有责任弄清楚是否存在符合我们安全编码指南的代码仍然会受到此漏洞影响的情况。因此,我编写了一个快速测试应用程序来评估 SpEL 表达式,并测试了使用和不使用 Xml 转义的输入,看看能否找到一些无法捕捉到的场景。我做到了,有些恶意表达式不包含 XmleScape 捕获的任何字符。我在我们的 github 上发布了工作演示,你可以找到 这里

当然,我更新了我们的安全编码指南,现在内容是:“不要使用 Spring 表达语言 (SpEL) 显示或评估 URL 参数。”

此问题的总体影响很大,原因如下:-攻击者可以修改和调用应用程序服务器上的功能。-未经授权访问数据和功能,以及账户劫持和远程执行代码。-成功攻击带来的机密性和完整性问题。

https://www.owasp.org/index.php/Expression_Language_Injection

Webinar ansehen
Fangen wir an.
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Bericht anzeigenDemo buchen
Ressourcen anzeigen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Pieter De Cremer
Veröffentlicht 15. September 2017

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Teilen auf:
LinkedIn-MarkenSozialx Logo

上周我正在研究 Java Spring 中的漏洞,以更新我们的安全编码指南。我正在研究我们平台上现有的挑战,并通过在JSP页面中显示网址参数在XSS上发现了一些挑战。不正确的代码示例看起来与以下内容类似:

<input type="text" name="username" value="${param.username}">

正确的解决方案是完全删除 URL 参数,描述中提到,以正确的方式转义 URL 参数也是安全的。

现在,我的工作是以开发人员清楚的方式制定安全编码指南,并在编写安全代码的同时尽可能减少对他们的限制。在这种情况下,我更愿意让开发人员保留其预期功能,并建议他们通过转义 URL 参数来安全地执行此操作。这样,代码就不再包含 XSS 漏洞了。上面的例子可以这样保护:

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

这是我们几天来的安全编码指南,直到我偶然发现了一个 关于表达式语言注入的 OWASP 页面。本页介绍如何滥用 Spring 表达式语言 (SpEL) 进行注入,从而产生一些严重影响,包括远程代码执行。我有责任弄清楚是否存在符合我们安全编码指南的代码仍然会受到此漏洞影响的情况。因此,我编写了一个快速测试应用程序来评估 SpEL 表达式,并测试了使用和不使用 Xml 转义的输入,看看能否找到一些无法捕捉到的场景。我做到了,有些恶意表达式不包含 XmleScape 捕获的任何字符。我在我们的 github 上发布了工作演示,你可以找到 这里

当然,我更新了我们的安全编码指南,现在内容是:“不要使用 Spring 表达语言 (SpEL) 显示或评估 URL 参数。”

此问题的总体影响很大,原因如下:-攻击者可以修改和调用应用程序服务器上的功能。-未经授权访问数据和功能,以及账户劫持和远程执行代码。-成功攻击带来的机密性和完整性问题。

https://www.owasp.org/index.php/Expression_Language_Injection

Verzeichnis

PDF herunterladen
Ressourcen anzeigen
Interessiert an mehr?

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen下载
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge