Mantengo un sitio pequeño que ejecuta páginas ASP clásicas a la antigua con un backend de Access.
Recientemente, el sitio fue hackeado. El atacante logró agregar una gran cantidad de código a la página index.asp. En su mayoría era contenido estático, muchos enlaces a sitios dudosos, ese tipo de cosas, con un poco de scripting. No me detuve a analizar los scripts, simplemente eliminé todo y volví a publicar la página.
No hay nada en esa página de índice que acepte entradas dinámicas: no hay cuadros de búsqueda, no se cargan archivos, no hay cadenas de consulta. Hay otros sitios en el sitio, que incluyen algunos foros de software simples, pero no en la página principal.
Debido a que no hay información en la página que fue pirateada, asumí que esto era una falla en las defensas del anfitrión, y les alerté sobre el hecho de que podría haber un problema. Después de un par de días, volvieron a mí diciendo que estaban completamente seguros y que el atacante debe haber usado algún tipo de ataque de inyección para hacer el daño.
Esto me sorprendió y alarmó, porque no sabía que existían técnicas para usar la inyección en páginas que no aceptan ninguna entrada. Pero mi conocimiento de seguridad no es excelente, así que si los hay, quiero saber sobre ellos.
Entonces, ¿cómo puede un ataque de inyección llegar a una página que no tiene un formulario o una cadena de consulta? ¿O es que mi empresa de hosting está mintiendo y hay una posible falla en su seguridad?