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?