HTTP 응답 분할: 두 판 사이의 차이
IT위키
(새 문서: 분류:보안분류:보안 공격 HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage...) |
편집 요약 없음 |
||
1번째 줄: | 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> |
2020년 4월 21일 (화) 00:55 기준 최신판
- HTTP Response Splitting
- CWE-113
HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed %0A)가 존재하면 HTTP 여러개로 나누어질 수 있다.
- 이러한 취약점을 통해 응답 메시지에 악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점
대응 방안[편집 | 원본 편집]
HTTP 응답 헤더에 입력되는 값에 대하여 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed, %0A)를 제거/치환하는 등 입력에 대한 유효성 검사를 실시함으로써 헤더가 두 개 이상으로 나뉘어지는 것을 방지한다.
- 예시
String test = test.replaceAll("\r" , " ").replaceAll("\n" , " ");