Actions
Bug #475
closed
VJ
VJ
http_raw_header doesn't provide (original) newline/cr for response headers
Bug #475:
http_raw_header doesn't provide (original) newline/cr for response headers
Affected Versions:
Effort:
Difficulty:
Label:
Description
libhtp doesn't provide this info:
htp_tx_generate_response_headers_raw: data len 35 (0x23) 00000000 44 61 74 65 3a 20 54 68 75 2c 20 32 32 20 44 65 |Date: Thu, 22 De| 00000010 63 20 32 30 31 31 20 32 30 3a 35 32 3a 34 35 20 |c 2011 20:52:45 | 00000020 47 4d 54 |GMT| htp_tx_generate_response_headers_raw: data len 14 (0xe) 00000000 53 65 72 76 65 72 3a 20 41 70 61 63 68 65 |Server: Apache| htp_tx_generate_response_headers_raw: data len 19 (0x13) 00000000 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 |Content-Length: | 00000010 32 37 32 |272| htp_tx_generate_response_headers_raw: data len 43 (0x2b) 00000000 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 |Content-Type: te| 00000010 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 |xt/html; charset| 00000020 3d 69 73 6f 2d 38 38 35 39 2d 31 |=iso-8859-1|
So Suricata doesn't use it to create the http_raw_buffer
0000 44 61 74 65 3A 20 54 68 75 2C 20 32 32 20 44 65 Date: Th u, 22 De 0010 63 20 32 30 31 31 20 32 30 3A 35 32 3A 34 35 20 c 2011 2 0:52:45 0020 47 4D 54 53 65 72 76 65 72 3A 20 41 70 61 63 68 GMTServe r: Apach 0030 65 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 68 3A eContent -Length: 0040 20 32 37 32 43 6F 6E 74 65 6E 74 2D 54 79 70 65 272Cont ent-Type 0050 3A 20 74 65 78 74 2F 68 74 6D 6C 3B 20 63 68 61 : text/h tml; cha 0060 72 73 65 74 3D 69 73 6F 2D 38 38 35 39 2D 31 rset=iso -8859-1
libhtp calls htp_chomp before storing the header line. htp_chomp removed 0a and 0d characters from the buffer.
Potential solutions:
- keep these chars in the buffer
- add a separate buffer for the 0d 0a chars that can be used to reconstruct the original line
Talking to libhtp upstream about this.
VJ Updated by Victor Julien almost 14 years ago
- Target version changed from 1.3beta2 to 1.3rc1
VJ Updated by Victor Julien almost 14 years ago
- Due date set to 06/28/2012
- Priority changed from Normal to High
VJ Updated by Victor Julien almost 14 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
Pushed a fix to the git master.
Actions