SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

시큐어 코딩 가이드라인의 진화

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

지난 주에 필자는 보안 코딩 지침을 최신 상태로 유지하기 위해 Java Spring의 취약점을 조사했습니다.플랫폼의 기존 문제를 살펴보다가 XSS에서 JSP 페이지에 URL 매개 변수를 표시하는 과정에서 몇 가지 문제점을 발견했습니다.잘못된 코드 예제는 다음과 비슷할 것입니다.

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

올바른 해결책은 URL 매개 변수를 완전히 제거하는 것이었으며 설명에는 URL 매개 변수를 올바른 방법으로 이스케이프하는 것도 안전하다고 언급되어 있습니다.

이제 제 일은 개발자들이 이해할 수 있는 방식으로 보안 코딩 가이드라인을 만들고 보안 코드를 작성하면서도 가능한 한 제한적으로 만드는 것입니다.이런 경우에는 개발자가 의도한 기능을 그대로 유지할 수 있도록 하고 URL 매개 변수를 이스케이프하여 안전하게 사용할 수 있도록 권장하고 싶습니다.이렇게 하면 코드에 더 이상 XSS 취약점이 포함되지 않습니다.위 예시는 다음과 같이 보안을 설정할 수 있습니다.

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

그리고 이것은 며칠 동안 우리의 보안 코딩 지침이었는데, 제가 우연히 발견하게 될 때까지 표현식 언어 주입에 관한 OWASP 페이지.이 페이지에서는 스프링 표현식 언어 (SPEL) 가 어떻게 남용되어 원격 코드 실행을 포함하여 심각한 영향을 미칠 수 있는지 설명합니다.보안 코딩 가이드라인을 준수하는 코드가 여전히 이 취약점의 영향을 받을 수 있는 경우가 있는지 알아내는 것은 제 몫이었습니다.그래서 SpEL 표현식을 평가하는 간단한 테스트 애플리케이션을 작성하고, Xml 이스케이프를 사용하거나 사용하지 않고 입력값을 테스트하여 포착되지 않는 시나리오를 찾을 수 있는지 확인했습니다.그리고 실제로 해봤는데, XMLeScape에서 잡아낸 문자를 전혀 포함하지 않는 악의적인 표현식들도 있었습니다.저는 GitHub에 작업 데모를 게시했는데, 여기에서 찾을 수 있습니다. 이리.

물론 보안 코딩 가이드라인을 업데이트했습니다. 이 가이드라인에는 이제 “Spring Expression Language (SpLE) 를 사용하여 URL 매개변수를 표시하거나 평가하지 마십시오.”

이 문제가 미치는 전반적인 영향은 다음과 같습니다. - 공격자가 응용 프로그램 서버의 기능을 수정하고 호출할 수 있습니다. - 데이터 및 기능에 대한 무단 액세스, 계정 하이재킹 및 원격 코드 실행. - 성공적인 공격으로 인한 기밀성 및 무결성 문제.

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

Ressourcen anzeigen
Ressourcen anzeigen

지난 주에 필자는 보안 코딩 지침을 최신 상태로 유지하기 위해 Java Spring의 취약점을 조사했습니다.

Sind Sie an weiteren Informationen interessiert?

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbaren
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Pieter De Cremer
Veröffentlicht 15. September 2017

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Freigabeziel:
LinkedIn-MarkenSozialx Logo

지난 주에 필자는 보안 코딩 지침을 최신 상태로 유지하기 위해 Java Spring의 취약점을 조사했습니다.플랫폼의 기존 문제를 살펴보다가 XSS에서 JSP 페이지에 URL 매개 변수를 표시하는 과정에서 몇 가지 문제점을 발견했습니다.잘못된 코드 예제는 다음과 비슷할 것입니다.

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

올바른 해결책은 URL 매개 변수를 완전히 제거하는 것이었으며 설명에는 URL 매개 변수를 올바른 방법으로 이스케이프하는 것도 안전하다고 언급되어 있습니다.

이제 제 일은 개발자들이 이해할 수 있는 방식으로 보안 코딩 가이드라인을 만들고 보안 코드를 작성하면서도 가능한 한 제한적으로 만드는 것입니다.이런 경우에는 개발자가 의도한 기능을 그대로 유지할 수 있도록 하고 URL 매개 변수를 이스케이프하여 안전하게 사용할 수 있도록 권장하고 싶습니다.이렇게 하면 코드에 더 이상 XSS 취약점이 포함되지 않습니다.위 예시는 다음과 같이 보안을 설정할 수 있습니다.

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

그리고 이것은 며칠 동안 우리의 보안 코딩 지침이었는데, 제가 우연히 발견하게 될 때까지 표현식 언어 주입에 관한 OWASP 페이지.이 페이지에서는 스프링 표현식 언어 (SPEL) 가 어떻게 남용되어 원격 코드 실행을 포함하여 심각한 영향을 미칠 수 있는지 설명합니다.보안 코딩 가이드라인을 준수하는 코드가 여전히 이 취약점의 영향을 받을 수 있는 경우가 있는지 알아내는 것은 제 몫이었습니다.그래서 SpEL 표현식을 평가하는 간단한 테스트 애플리케이션을 작성하고, Xml 이스케이프를 사용하거나 사용하지 않고 입력값을 테스트하여 포착되지 않는 시나리오를 찾을 수 있는지 확인했습니다.그리고 실제로 해봤는데, XMLeScape에서 잡아낸 문자를 전혀 포함하지 않는 악의적인 표현식들도 있었습니다.저는 GitHub에 작업 데모를 게시했는데, 여기에서 찾을 수 있습니다. 이리.

물론 보안 코딩 가이드라인을 업데이트했습니다. 이 가이드라인에는 이제 “Spring Expression Language (SpLE) 를 사용하여 URL 매개변수를 표시하거나 평가하지 마십시오.”

이 문제가 미치는 전반적인 영향은 다음과 같습니다. - 공격자가 응용 프로그램 서버의 기능을 수정하고 호출할 수 있습니다. - 데이터 및 기능에 대한 무단 액세스, 계정 하이재킹 및 원격 코드 실행. - 성공적인 공격으로 인한 기밀성 및 무결성 문제.

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

Ressourcen anzeigen
Ressourcen anzeigen

Um den Bericht herunterzuladen, füllen Sie bitte das folgende Formular aus.

Wir bitten um Ihre Zustimmung, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen der Sicherheitscodierung zukommen zu lassen. Wir behandeln Ihre personenbezogenen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichung
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte das „Analytics“-Cookie. Nach Abschluss können Sie es jederzeit wieder deaktivieren.

지난 주에 필자는 보안 코딩 지침을 최신 상태로 유지하기 위해 Java Spring의 취약점을 조사했습니다.플랫폼의 기존 문제를 살펴보다가 XSS에서 JSP 페이지에 URL 매개 변수를 표시하는 과정에서 몇 가지 문제점을 발견했습니다.잘못된 코드 예제는 다음과 비슷할 것입니다.

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

올바른 해결책은 URL 매개 변수를 완전히 제거하는 것이었으며 설명에는 URL 매개 변수를 올바른 방법으로 이스케이프하는 것도 안전하다고 언급되어 있습니다.

이제 제 일은 개발자들이 이해할 수 있는 방식으로 보안 코딩 가이드라인을 만들고 보안 코드를 작성하면서도 가능한 한 제한적으로 만드는 것입니다.이런 경우에는 개발자가 의도한 기능을 그대로 유지할 수 있도록 하고 URL 매개 변수를 이스케이프하여 안전하게 사용할 수 있도록 권장하고 싶습니다.이렇게 하면 코드에 더 이상 XSS 취약점이 포함되지 않습니다.위 예시는 다음과 같이 보안을 설정할 수 있습니다.

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

그리고 이것은 며칠 동안 우리의 보안 코딩 지침이었는데, 제가 우연히 발견하게 될 때까지 표현식 언어 주입에 관한 OWASP 페이지.이 페이지에서는 스프링 표현식 언어 (SPEL) 가 어떻게 남용되어 원격 코드 실행을 포함하여 심각한 영향을 미칠 수 있는지 설명합니다.보안 코딩 가이드라인을 준수하는 코드가 여전히 이 취약점의 영향을 받을 수 있는 경우가 있는지 알아내는 것은 제 몫이었습니다.그래서 SpEL 표현식을 평가하는 간단한 테스트 애플리케이션을 작성하고, Xml 이스케이프를 사용하거나 사용하지 않고 입력값을 테스트하여 포착되지 않는 시나리오를 찾을 수 있는지 확인했습니다.그리고 실제로 해봤는데, XMLeScape에서 잡아낸 문자를 전혀 포함하지 않는 악의적인 표현식들도 있었습니다.저는 GitHub에 작업 데모를 게시했는데, 여기에서 찾을 수 있습니다. 이리.

물론 보안 코딩 가이드라인을 업데이트했습니다. 이 가이드라인에는 이제 “Spring Expression Language (SpLE) 를 사용하여 URL 매개변수를 표시하거나 평가하지 마십시오.”

이 문제가 미치는 전반적인 영향은 다음과 같습니다. - 공격자가 응용 프로그램 서버의 기능을 수정하고 호출할 수 있습니다. - 데이터 및 기능에 대한 무단 액세스, 계정 하이재킹 및 원격 코드 실행. - 성공적인 공격으로 인한 기밀성 및 무결성 문제.

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

Webinar ansehen
Beginnen
mehr erfahren

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

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Bericht anzeigenDemo-Termin vereinbaren
Ressourcen anzeigen
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Sind Sie an weiteren Informationen interessiert?

Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Pieter De Cremer
Veröffentlicht 15. September 2017

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

Freigabeziel:
LinkedIn-MarkenSozialx Logo

지난 주에 필자는 보안 코딩 지침을 최신 상태로 유지하기 위해 Java Spring의 취약점을 조사했습니다.플랫폼의 기존 문제를 살펴보다가 XSS에서 JSP 페이지에 URL 매개 변수를 표시하는 과정에서 몇 가지 문제점을 발견했습니다.잘못된 코드 예제는 다음과 비슷할 것입니다.

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

올바른 해결책은 URL 매개 변수를 완전히 제거하는 것이었으며 설명에는 URL 매개 변수를 올바른 방법으로 이스케이프하는 것도 안전하다고 언급되어 있습니다.

이제 제 일은 개발자들이 이해할 수 있는 방식으로 보안 코딩 가이드라인을 만들고 보안 코드를 작성하면서도 가능한 한 제한적으로 만드는 것입니다.이런 경우에는 개발자가 의도한 기능을 그대로 유지할 수 있도록 하고 URL 매개 변수를 이스케이프하여 안전하게 사용할 수 있도록 권장하고 싶습니다.이렇게 하면 코드에 더 이상 XSS 취약점이 포함되지 않습니다.위 예시는 다음과 같이 보안을 설정할 수 있습니다.

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

그리고 이것은 며칠 동안 우리의 보안 코딩 지침이었는데, 제가 우연히 발견하게 될 때까지 표현식 언어 주입에 관한 OWASP 페이지.이 페이지에서는 스프링 표현식 언어 (SPEL) 가 어떻게 남용되어 원격 코드 실행을 포함하여 심각한 영향을 미칠 수 있는지 설명합니다.보안 코딩 가이드라인을 준수하는 코드가 여전히 이 취약점의 영향을 받을 수 있는 경우가 있는지 알아내는 것은 제 몫이었습니다.그래서 SpEL 표현식을 평가하는 간단한 테스트 애플리케이션을 작성하고, Xml 이스케이프를 사용하거나 사용하지 않고 입력값을 테스트하여 포착되지 않는 시나리오를 찾을 수 있는지 확인했습니다.그리고 실제로 해봤는데, XMLeScape에서 잡아낸 문자를 전혀 포함하지 않는 악의적인 표현식들도 있었습니다.저는 GitHub에 작업 데모를 게시했는데, 여기에서 찾을 수 있습니다. 이리.

물론 보안 코딩 가이드라인을 업데이트했습니다. 이 가이드라인에는 이제 “Spring Expression Language (SpLE) 를 사용하여 URL 매개변수를 표시하거나 평가하지 마십시오.”

이 문제가 미치는 전반적인 영향은 다음과 같습니다. - 공격자가 응용 프로그램 서버의 기능을 수정하고 호출할 수 있습니다. - 데이터 및 기능에 대한 무단 액세스, 계정 하이재킹 및 원격 코드 실행. - 성공적인 공격으로 인한 기밀성 및 무결성 문제.

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

Inhaltsverzeichnis

PDF herunterladen
Ressourcen anzeigen
Sind Sie an weiteren Informationen interessiert?

Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbarenDownload
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge