반응형
1. CRLF 인젝션이란 ?
CRLF Injection은 Carriage Return Line feed Injection의 약자로 각 개행문자를 의미하는 CR(\r) LF(\n)을 이용하여 HTTP Request 또는 Response를 분리하여 바디부분에 의도하지 않은 헤더필드를 삽입하거나 바디 부분에 HTML 코드를 추가하여 문제를 일으키는 공격 기법을 의미한다.
CR | Carriage Return | ASCII 13 | %0D | \r |
LF | Line Feed | ASCII 10 | %0A | \n |
2.예시
*헤더필드 추가
Request
GET /redirect?location=jj://%0d%0aSet-Cookie: session=attackersessions;
Response
HTTP/1.1 200 OK
Location: ws://
Set-Cookie: session=attackersessions;
*바디 부분 추가
Request
GET /redirect?location=jj://%0d%0a%0d%0a<img/src=x onerror=alert(document.cookie)>
Response
HTTP/1.1 200 OK
Location: jj://
<img/src=x onerror=alert(document.cookie)>
이처럼 Request (요청) 에서 \r\n 를 이용하여 개행할 수 있다면 취약하다고 본다.
3. 대응 방법
사용자의 입력 값에서 CRLF가 사용되지 않게 필터링하거나 유효성 검증(HTML Encoding 또는 Escape Character로 치환) 로직을 구현해야 한다.
**references**
https://www.invicti.com/blog/web-security/crlf-http-header/
https://www.hahwul.com/cullinan/crlf-injection/#-offensive-techniques
반응형
'Attack' 카테고리의 다른 글
타인의 PC를 정복하다 - 백도어 (루트킷) 개념 및 실습 (0) | 2023.11.22 |
---|---|
파일 업로드 대응 -- (파일 내용 악성 코드 및 여러가지 대응 방법) (0) | 2023.10.21 |
Kali 한영 설정 fcitx 안될 때!! (0) | 2023.10.13 |
[Attack] Web shell? 웹 쉘 ? (0) | 2023.09.14 |
[Attack] 퍼징 ? 알아볼게요 (0) | 2023.09.10 |