Expresiones regulares para explotaciones comunes

3

Le puse un parche para el Shellshock y unos días más tarde fui asaltado. Sin embargo, no habría sabido que se hubieran hecho intentos si no fuera por una expresión regular que encontré en Internet. Esto me ha inspirado a profundizar en mis registros. ¿Hay alguna lista centralizada de expresiones regulares que pueda usar en un script para analizar mis registros en busca de intentos de explotación comunes, como Inyección de SQL o XSS?

    
pregunta Dylan Katz 10.11.2014 - 06:14
fuente

2 respuestas

6

La mejor solución sería negar implícitamente, es decir, permitir exactamente los datos que desea, pero ningún otro.

Puede escribir expresiones regulares que coincidan con todas las entradas que no estén de acuerdo con su filtro para encontrar entradas extrañas, que podrían ser una vulnerabilidad. También es una buena manera de encontrar información válida que omitió en su expresión regular.

Un nombre de usuario podría estar bien con [a-zA-Z0-9]+ , en lugar de eliminar comillas simples o similar a la entrada de saneamiento.

EDITAR:
Este es el enfoque que tomaría:

  1. Agregue expresiones regulares para negar implícitamente todas las entradas, para solucionar este problema en el futuro.
  2. Compare los datos en los archivos de registro con las expresiones regulares que se escribieron en el paso 1
  3. Eliminar todos los datos de entrada en los archivos de registro que coincidan con las expresiones regulares.
  4. Reduzca los registros contando filas idénticas y deduplicándolas, para que no tengamos que buscar 1000 filas idénticas, pero aún sabemos que teníamos 1000 filas así en los archivos de registro.
  5. Compruebe si alguna de las entradas registradas debe ser válida. Si es así, actualice la expresión regular correspondiente y vaya al paso 2.
  6. Compruebe si alguna de las entradas de registro restantes parece sospechosa.
respondido por el Filip Haglund 10.11.2014 - 12:43
fuente
1

Las expresiones regulares tienen un uso muy limitado, ya que es poco probable que se registren los ataques realizados a través de una solicitud HTTP POST. También hay muchos ejemplos de valores de encabezado que tienen un impacto mientras no se registran, es decir: shellshock. También habrá mucho ruido de los escáneres automáticos como Nikto que no tendrán impacto a menos que la URL visitada exista y sea vulnerable.

Si va a revisar sus registros, un buen lugar para comenzar sería exportar las reglas desde mod_security o snort . Vale la pena señalar que estas pueden necesitar modificaciones para ser compatibles con el motor de expresiones regulares utilizado por su herramienta de búsqueda, como grep.

    
respondido por el wireghoul 17.11.2014 - 01:56
fuente

Lea otras preguntas en las etiquetas