상황 : 공격자가 일치하지 않는 콘텐츠 크기를 가진 잘못된 HTTP 패킷을 실제 콘텐츠 크기로 보내는 공격이 있습니다. 이러한 패킷을 꺼내기 위해 Snort 규칙을 작성해야합니다.유효하지 않은/일치하지 않는 HTTP 헤더 콘텐츠 크기와 실제 내용 크기를 비교하는 Snort 규칙
문제점 : 내가 아는 한, Snort는 사용자가 Snort 변수/값 (예 : "dsize")을 사용하여 규칙 집합을 정의하는 것을 허용하지 않습니다. 예를 들면 다음과 같습니다.
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (\
msg:"mismatched HTTP header content size vs actual content size"; \
offset: *to http header content field*; \
byte_test: *length of field of content*, !=, dsize; \
gid: 1; sid:1000001;)
질문 : 위의 내용이 작동하지 않는다는 것을 잘 알고 있습니다. Snort 규칙을 사용하여 상기 목적을 달성 할 수있는 방법이 있습니까?
추가 정보 1 : 나는 스 노트 2를 사용하고
추가 정보 2 : 스 노트 2가 지원할 수있는 (LUA) 이외의 다른 스크립트가 있나요?
추가 정보 3 : http preprocessor가 존재하지만 제대로 작동하도록하는 방법을 모릅니다. 전처리기를 사용하여 제안한다면, 올바른 방향으로 나를 가리 키시겠습니까?