* HTTP 응답 분할 취약점 : Client의 HTTP 요청 파라미터(입력)값에 개행문자(CR. LF)가 포함되어 있을 때, HTTP 응답이 2개 이상으로 분리될 수 있으며, 이에 따라 공격자가 첫 응답을 종료시킨 후, 이후 응답에 악의적 코드를 삽입, 실행 할 수 있는 취약점
개행문자
- CR (Carriage Return, \r, %0D) : 커서의 위치를 맨 앞으로 이동 시키는 개행 문자
- LF (Line Feed, \n, %0A) : 커서를 다음 행으로 이동 시키는 개행 문자
* HTTP 응답 분할 취약점 동작 방식
1) 공격자는 쿠키 생성에 사용되는 cookieValue 요청 파라미터 조작(kiwi 값 삽입) 및 개행 문자를 통해 HTTP 응답 메세지 분할 시도
2) 서버 측 login.jsp 상 코드에 요청 파라미터값 검증 없이, 해당 값을 쿠키(nickname)로 설정, 응답 헤더에 담아 전달
3) 응답 헤더 쿠키(Set-Cookie: nickname)가 설정, 쿠키에 포함되어 있는 Content-Length: 0 헤더 이후, 개행문자들로 응답 메세지가 분할되어 처리(공격자 의도로 XSS 실행됨)
- 이 외에도, 클라이언트 요청 파라미터 값 설정과 서버측의 취약한 구성에 따라 HRS 다양한 방법으로 적용 가능
* 대응책
- 클라이언트 요청 파라미터(입력) 값이, 서버 프로그램에서 쿠키(Set-Cookie 응답 헤더)로 사용되거나, 리다이렉션(Redirection) 목적으로 Location 응답 헤더로 사용, 기타 응답 헤더 설정에 사용될 시, HRS가 발생하지 않게 적절한 필터링(특히 개행문자) 필요
'Information Security > Hacking' 카테고리의 다른 글
디렉터리 리스팅 취약점 (Directory Listing Vulnerability) (0) | 2021.02.17 |
---|---|
XPath/Xquery Injection Vulnerability (0) | 2021.02.17 |
불충분한 세션 관리 취약점 (Insufficient Session Management Vulnerability) (0) | 2021.02.15 |
파일 삽입 취약점 (File Inclusion Vulnerability) (0) | 2021.02.15 |
파일 다운로드 취약점 (File Download Vulnerability) (0) | 2021.02.15 |