Sé que esta es una pregunta antigua, pero esto es algo con lo que me he topado muchas veces, así que creo que dar una respuesta puede ayudar a otros que se han encontrado con esto.
Mi explicación
En mi experiencia, algunas versiones de Snort tienen problemas al cambiar de usar las opciones de HTTP que responden en el análisis del preprocesador y luego cambiar a no usarlas. Dada la regla que proporcionó, la primera cadena de contenido:
content:"Content-Type: text/html"; http_header;
Utiliza el preprocesador http y el motor de Snort entra en el modo de analizar partes de la solicitud / respuesta. Siguiendo con la cadena de contenido:
content:"Hello there";
... sin especificar dónde encontrarlo, el motor Snort tiene dificultades para encontrarlo.
Por supuesto, esta es mi "teoría" basada en la experiencia y la resolución de problemas de prueba y error.
Soluciones posibles
-
Especifique content:"Hello there";
antes del otro contenido (muévase a la izquierda). Si corresponde, especifique fast_pattern:only;
.
-
Deje el content:"Hello there";
donde está, pero intente agregar la opción pkt_data;
antes. Esto le indicaría a Snort que se olvide de analizar los elementos de solicitud / respuesta HTTP y que mueva doe_ptr al comienzo de la solicitud HTTP (es decir, el paquete) y luego busque el contenido. O, si ese contenido es esperado en los datos del archivo de la respuesta, use la opción file_data;
en su lugar. Nuevamente, pkt_data;
o file_data;
requieren que coloques esas opciones antes antes las opciones content
que deben verse afectadas.