¿Es una buena idea usar un archivo robots.txt de forma preventiva que no permita que todos los motores de búsqueda indexen cadenas de consulta para ralentizar el reconocimiento?

0

Sé que robots.txt no es una característica de seguridad. Pero, la información indexada y almacenada en caché por los motores de búsqueda puede ser increíblemente útil en la fase de reconocimiento de una prueba de penetración y, potencialmente, para los escáneres de vulnerabilidad automatizados.

Sin mencionar el hecho de que es mejor no exponer la cadena de consulta, en el código fuente ni en un archivo robots.txt o en cualquier otro lugar, en algunos casos no se permiten los motores de búsqueda para almacenar contenido en caché y eso es posible adivinar (lea: fuerza bruta o verifique los parámetros comunes).

Ahora, es una buena idea usar un método preventivo similar al siguiente archivo robots.txt :

User-agent: *
Disallow: /*?*
Disallow: /*&*

En caso de que el código fuente muestre una referencia a los parámetros en la URL, usted no permitirá a todos los motores de búsqueda específicamente indexarlos. Entonces, todavía es posible encontrar los parámetros en la fase de reconocimiento (pero un poco más difícil), pero al menos cuando se solucione, el material no se almacenará en caché.

Después de que el contenido se almacena en la caché, se indexan y se toman medidas para ocultar los parámetros de la consulta (como volver a escribir las URL, los parámetros utilizados anteriormente deben cambiarse de nombre para evitar que se encuentren o se utilicen incorrectamente).

Mi punto es que todo puede ser pirateado, es solo una cuestión de recursos (tiempo, técnica, esfuerzo y habilidades). Hacer las cosas demasiado fáciles permitirá que un atacante use menos recursos. Cuando los parámetros en las URL no están indexados, lleva más tiempo encontrarlos, ya que el código fuente debe ser inspeccionado o el sitio debe ser rastreado. Entonces, ¿hay algún tipo de robots.txt como arriba, un hacer o no hacer y por qué?

Por último, pero no menos importante, ¿deberíamos recomendar a los desarrolladores (o es una buena práctica) que lo hagan?

    
pregunta Bob Ortiz 14.07.2016 - 11:07
fuente

1 respuesta

4

No, esto no agrega ningún valor de seguridad real.

Dependiendo del enfoque de su atacante, lo primero que podría hacer es tomar una huella digital del servidor y las libretas y hacer un rastreo de todo el sitio (eso es lo que haría si el punto es encontrar una vulnerabilidad en el código) .

El rastreo de un sitio como este es extremadamente trivial (y se automatiza fácilmente), por lo que la ganancia es insignificante. Además, en el escenario mencionado anteriormente, no usaría los datos del motor de búsqueda, ya que querría asegurarme de que las cosas en las que estoy trabajando sean "reales", no una versión en caché de algunas horas, días o siempre. .

Encontrar parámetros es 0.001% del trabajo. Es explotarlos lo que es más difícil. La reducción de los piratas informáticos en esa tarea no tiene ningún valor añadido.

(Además, perdería valor en cuanto a SEO, pero entiendo que no es su preocupación)

    
respondido por el niilzon 14.07.2016 - 14:59
fuente

Lea otras preguntas en las etiquetas