HTTP 응답 분할: Difference between revisions
From CS Wiki
(새 문서: 분류:보안분류:보안 공격 HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage...) |
No edit summary |
||
Line 1: | Line 1: | ||
[[분류:보안]][[분류:보안 공격]] | [[분류:보안]][[분류:보안 공격]] | ||
;HTTP Response Splitting | |||
* CWE-113 | |||
HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed %0A)가 존재하면 HTTP 여러개로 나누어질 수 있다. | HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed %0A)가 존재하면 HTTP 여러개로 나누어질 수 있다. | ||
* 이러한 취약점을 통해 응답 메시지에 악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점 | * 이러한 취약점을 통해 응답 메시지에 악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점 | ||
== 대응 방안 == | |||
HTTP 응답 헤더에 입력되는 값에 대하여 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed, %0A)를 제거/치환하는 등 입력에 대한 유효성 검사를 실시함으로써 헤더가 두 개 이상으로 나뉘어지는 것을 방지한다. | |||
* 예시 | |||
<pre> | |||
String test = test.replaceAll("\r" , " ").replaceAll("\n" , " "); | |||
</pre> |
Latest revision as of 10:55, 20 April 2020
- HTTP Response Splitting
- CWE-113
HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed %0A)가 존재하면 HTTP 여러개로 나누어질 수 있다.
- 이러한 취약점을 통해 응답 메시지에 악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점
대응 방안[edit | edit source]
HTTP 응답 헤더에 입력되는 값에 대하여 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed, %0A)를 제거/치환하는 등 입력에 대한 유효성 검사를 실시함으로써 헤더가 두 개 이상으로 나뉘어지는 것을 방지한다.
- 예시
String test = test.replaceAll("\r" , " ").replaceAll("\n" , " ");