[보안 해킹] 홈페이지 개발 보안 - HTTP 응답분할
■ 취약점 설명
- HTTP 요청에 들어 있는 인자값이 HTTP 응답헤더에 포함되어 사용자에게 다시 전달 될 때 입력값에 CR(Carriage Return)이나 LF(Line Feed)와 같은 개행문자가 존재하면 HTTP 응답이 2개 이상으로 분리되어, 공격자는 개행문자를 이용하여 첫 번째 응답을 종료시키고, 두번째 응답에 악의적인 코드를 주입하여 XSS 및 캐시 훼손(Cache Poisoning) 공격 등이 가능한 취약점
■ 보안대책
⑴ 외부에서 입력된 인자값을 HTTP 응답헤더(Set Cookie 등)에 포함시킬 경우 CR, LF 등의 개행문자를 제거
■ 코드예제
- 공격자가 "Wiley Hacker\r\nHTTP\1.1 200 OK\r\n"를 authorName의 값으로 설정할 경우, 예와 같이 의도하지 않은 두개의 페이지가 전달되며, 두번째 응답페이지는 공격자가 값을 수정하여 공격이 가능한 코딩
- 입력되는 값에 대하여 Null여부를 체크하고, 헤더값이 두 개로 나누어지는 것을 방지하기 위해 replaceAll을 이용하여 개행문자(\r, \n)를 제거하도록 코딩
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Security > Hacking & Security' 카테고리의 다른 글
[보안 해킹] 홈페이지 개발 보안 - 취약한 계정 생성 허용 (0) | 2016.10.28 |
---|---|
[보안 해킹] 홈페이지 개발 보안 - URL/파라미터 변조 (0) | 2016.10.27 |
[보안 해킹] 홈페이지 개발 보안 - LDAP 인젝션 (0) | 2016.10.25 |
[보안 해킹] 홈페이지 개발 보안 - 버퍼 오버플로우 (0) | 2016.10.25 |
[보안 해킹] 홈페이지 개발 보안 - 파일 다운로드 (0) | 2016.10.24 |