¿Qué tipo de superficie de ataque hay para un sitio que solo alberga contenido estático: HTML, imágenes, CSS? ¿Cómo se puede penetrar con éxito en sitios como este?
Incluso cuando no hay una aplicación web vulnerable, todavía hay muchos otros códigos que podrían ser vulnerables.
Las páginas estáticas aún son susceptibles a ataques de fragmentos :
La técnica para evitar enviar la carga útil al servidor se basa en el hecho de que el URI no envía al servidor fragmentos (la parte en el URI después del "#") al servidor. Por lo tanto, cualquier código del lado del cliente que haga referencia, por ejemplo,
document.location
, puede ser vulnerable a un ataque que use fragmentos, y en tal caso, la carga útil nunca se envía al servidor. Por ejemplo, el XSS basado en DOM anterior se puede modificar en:http://www.some.site/page.html#default=<script>alert(document.cookie)</script>
que monta el mismo ataque sin que lo vea el servidor (que simplemente verá una solicitud de page.html sin ningún parámetro de URL).
En diciembre de 2006, Stefano Di Paola y Giorgio Fedon describieron un ataque XSS universal contra el complemento Acrobat PDF ([4]). Este ataque aplicó la variante de fragmento de XSS basado en DOM a documentos PDF. Los investigadores descubrieron que un documento PDF servido en el navegador, cuando se procesa mediante el complemento Acrobat, puede terminar ejecutando parte del fragmento como Javascript. Dado que Javascript se ejecuta en el contexto (DOM) del sitio actual, todo lo que un atacante necesitaba para explotar esta falla era simplemente encontrar un enlace PDF en algún lugar del sitio para que se cumpliera la condición XSS.
Lea otras preguntas en las etiquetas webserver web-hosting