http_client_body and http_raw_body

Snort places HTTP message data into two sticky buffers, http_client_body and http_raw_body. The former contains normalized message request data, while the latter contains unnormalized request and response message data.

The request data normalization that occurs is also similar to the URI normalization and includes things like percent-decoding and path-simplification.

Snort is also able to decompress request and response data (e.g., gzip-compression), and so it will, depending on one's configuration, place the decompressed data in both the http_client_body and http_raw_body buffers. Furthermore, the http_raw_body will contain de-chunked and decompressed data if applicable, but it will not be modified/normalized in any other way.

http_client_body

Format:

http_client_body;

Examples:

http_client_body;
content:"user=root",fast_pattern,nocase;
http_client_body;
content:"pizza_type=",fast_pattern,nocase;
content:"../",within 20;

http_raw_body

Format:

http_raw_body;

Examples:

http_raw_body;
content:"user=root",nocase;
http_raw_body; 
content:"pizza_type=",nocase;
content:"%2e%2e",nocase,distance 0;