Event Loop Blocking + Lazy images
En este exploit, @aszx87410 combina la técnica de canal lateral de imágenes lazy a través de una inyección HTML con un tipo de técnica de bloqueo del event loop para filtrar caracteres.
Este es un exploit diferente para el desafío CTF que ya fue comentado en la siguiente página. Echa un vistazo para obtener más información sobre el desafío:
pageConnection Pool ExamplesLa idea detrás de este exploit es:
Las publicaciones se cargan alfabéticamente.
Un atacante puede inyectar una publicación que comience con "A", luego alguna etiqueta HTML (como un gran
<canvas
) ocupará la mayor parte de la pantalla y algunas etiquetas finales de<img lazy
para cargar cosas.Si en lugar de una "A" el atacante inyecta la misma publicación pero comenzando con una "z". La publicación con la bandera aparecerá primero, luego la publicación inyectada aparecerá con la "z" inicial y el gran canvas. Debido a que la publicación con la bandera apareció primero, el primer canvas ocupará toda la pantalla y las etiquetas finales de
<img lazy
inyectadas no se verán en la pantalla, por lo que no se cargarán.Luego, mientras el bot está accediendo a la página, el atacante enviará solicitudes fetch.
Si las imágenes inyectadas en la publicación se están cargando, estas solicitudes fetch tomarán más tiempo, por lo que el atacante sabrá que la publicación está antes de la bandera (alfabéticamente).
Si las solicitudes fetch son rápidas, significa que la publicación está alfabéticamente después de la bandera.
¡Veamos el código!
Última actualización