He visto en muchos lugares que la gente dice que los encabezados de los siguientes tipos son una vulnerabilidad:
Server:Microsoft-IIS/7.5
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
Puedo ver que esto le da al atacante información adicional para que pueda verificar los errores conocidos en estas plataformas y luego abusar de ellos. Pero me parece que la eliminación de estos encabezados solo puede protegerte contra chiquillos muy simples y cualquier ataque serio podría descubrir esta información con bastante facilidad. Por ejemplo,
- Tiene que haber una forma en que cada IIS responda de manera diferente o falle de manera diferente cuando se le envía una intrincada basura aleatoria en comparación con otros servidores
- Se puede probar una lista de vulnerabilidades conocidas en ASP.NET una por una para ver si se aplica alguna, el mismo punto anterior se aplica a la propia ASP.NET.
- Algunas otras manipulaciones similares
En general, parece que cualquier adversario serio realmente podría descubrir esa información de manera bastante simple.
Y, después de todo, la eliminación de los encabezados le brindará beneficios, además de una protección muy simple contra los niños que usan secuencias de comandos, quienes primero se dirigirán a los sitios que tienen la vulnerabilidad, como en una cita popular:
"No tienes que correr más rápido que el oso para escapar. Solo tienes que correr más rápido que el chico que está a tu lado ".
P.S. Probablemente tenga problemas mucho más graves si esta divulgación de información puede conducir a una vulnerabilidad real.
P.P.S. De todos modos, no tiene sentido tener estos encabezados, ya que incluso beneficiará el rendimiento (aunque de manera bastante despreciable), por lo que es una buena idea deshacerse de ellos, pero todavía siento curiosidad por el argumento de "seguridad" completo aquí