끄적끄적

HTTP 응답 분할(HTTP Response Splitting, CRLF) 취약점 본문

해킹

HTTP 응답 분할(HTTP Response Splitting, CRLF) 취약점

widruv 2016. 5. 8. 18:26
※ 무분별하게 또는 악의적으로 사용하게 되면 법적 처벌을 받을 수 있습니다. 함부로 사용하지 마세요. 

CWE-113
HTTP Response Splitting
  • HTTP Request에 있는 파라미터가 HTTP Response의 헤더로 다시 전달 되는 경우 파라미터 내 개행문자 CR,LF가 존재하면 HTTP Response가 분리될 수 있다.
  • 이런 취약점을 이용해 Response에 악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점




= Request =
GET /?test=abc HTTP/1.1
...

= Response =
HTTP/1.1 200 OK
Server: ...
test: abc


이러한 구조라면 Request의 파라미터 값에 아래의 값을 넣어주면
%0d%0aContentLength:%200%d%0d%0a%0aHTTP/1.1%20200%20OK......

= Request =
GET /?test=abc%0d%0aContent-Length:%200%d%0d%0a%0aHTTP/1.1%20200%20OK...... HTTP/1.1
...

= Response =
HTTP/1.1 200 OK
Server: ...
test: abc
Content-Length: 0

HTTP/1.1 200 OK
...

이렇게 2개의 Response로 분할되어 오게 된다.

그럼 두 번째 Response에 대해서 공격자가 마음대로 수정이 가능하게 되므로 공격에 노출됨


'해킹' 카테고리의 다른 글

원격코드 실행 취약점(이미지 속 코드 삽입)  (0) 2016.06.02
DRDoS ( 분산 반사 서비스 거부 공격 )  (0) 2016.04.10
Command Injection / Execution  (0) 2016.02.26
File Inclusion  (0) 2016.02.26
File Upload  (0) 2016.02.26
Comments