Defensive
Snort :: Content 옵션의 개념과 HTTP 페이로드 탐지 이론
이둥둥
2025. 9. 30. 18:01
Content 옵션
: 페이로드에서 지정한 문자열/URL/바이트 패턴을 탐지할 때 사용됨
파일 다운로드/업로드 요청에서 특정 확장자나 파일 서명을 탐지할 때도 사용됨
이외에도 HTTP 파라미터, 쿠키 값, 애플리케이션 계층에서 데이터 패턴을 탐지할때 사용
사용형식
: 콜론 뒤에 큰 따옴표로 감싼 문자열이 들어감
문자열은 탐지할 대상, !느낌표는 제외할 대상
Modifier 수정자 종류
| nocase | 대소문 구분 X |
| rawbytes | 디코딩되지 않은 원시 바이트 기준으로 탐 |
| offset | 지정된 바이트 위치 이후부터 문자열 탐지 |
| depth | 페이로드 처음부터 설정된 바이트 수까지만 탐지 |
| distance | 이전 탐지 키워드가 일치한 위치 이후부터 바이트를 건너뛰고 탐지 |
| within | 이전 탐지 키워드가 일치한 위치 이후부터 지정된 바이트 수 이내에서만 탐지 |
탐지 룰 예시
alert tcp any any -> any any (msg:"USER root detected"; content: "USER root"; sid:1000001;)
페이로드에 "USER root"라는 아스키 문자열이 포함된 패킷을 탐지한다는 뜻

HTTP 요청 메시지 케이스
| 이더넷 헤더 | IP 헤더 | TCP 헤더 | HTTP 헤더 | 페이로드 |
HTTP 헤더에는 요청 메서드, URI, 프로토콜, 쿠키 등의 필드가 포함되어 있음
페이로드에는 내용이나 계정의 ID, 패스워드 등 정보가 있다
HTTP 요청 메시지의 경우에는 일반 사용자나 공격 사용자 모두 같은 구조임 (당연함
메시지 역시 정상/공격이 같은 구조여서 WAF는 메시지 내부 영역을 정밀 분석해야
악성여부를 판단해서 차단할 수 있음
HTTP 응답 메시지 케이스
이미 아는 내용이라 대략 정리만 하고 넘어가야겠당
요청이랑 다르게 응답 메시지에는 상태코드가 포함된다(200, 404, 500 ..)
Body에 있는 소스코드들이 웹 브라우저에서 렌더링되어서 우리가 아는 모습으로 표시됨
이제 실습으로 넘어가자