Cómo funcionan los ataques XSS

Cómo funcionan los ataques XSS. Para ejecutar un código JavaScript malicioso en el navegador de una víctima, un atacante primero debe encontrar una forma de inyectar una carga útil en una página web que la víctima visita. Por supuesto, un atacante podría usar técnicas de ingeniería social para convencer a un usuario de que visite una página vulnerable con una carga útil de JavaScript inyectada.

Para que se produzca un ataque XSS, el sitio web vulnerable debe incluir directamente los comentarios del usuario en sus páginas. Un atacante puede luego insertar una cadena que se utilizará dentro de la página web y será tratada como un código por el navegador de la víctima.

El siguiente pseudocódigo del lado del servidor se usa para mostrar el comentario más reciente en una página web.

print "<html>"
print "<h1>Most recent comment</h1>"
print database.latestComment
print "</html>"

La secuencia de comandos anterior simplemente imprime el último comentario de una base de datos de comentarios e imprime los contenidos en una página HTML, suponiendo que el comentario impreso solo consiste en texto.

La página anterior es vulnerable a XSS porque un atacante podría enviar un comentario que contenga una carga útil malintencionada como <script>doSomethingEvil();</script>

Los usuarios que visiten la página web recibirán la siguiente página HTML:

<html>
<h1>Most recent comment</h1>
<script>doSomethingEvil();</script>
</html>

Cuando la página se carga en el navegador de la víctima, se ejecutará el script malicioso del atacante, casi siempre sin que el usuario se dé cuenta o sea capaz de evitar dicho ataque.

Leer también: Que son los ataques XSS, vulnerabilidades; definición, significado ; Un caso de malware, ataque X-XSS, un script de un theme de wordpress ; ¿Porqué actualizar la versión de Php? ¿Cual es el motivo?

This post is also available in: Español