XSS
La mayoría de nosotros cuando oímos XSS automáticamente pensamos en buscadores y en contenido pasado por peticiones de tipo GET, pensamos en cerrar etiquetas con "> y en inyectar código. Pero muchas veces se nos olvida que tan solo es necesario un
Código
para que empiece la mágica. (o funciones similares que retornen lo introducido, como veremos a continuación )
echo variable
A veces esto es más sencillo de lo que parece. La mayoría de los motores de bases de datos están configurados para, por defecto, devolver el error producido...es decir nos dan un echo de lo que hayamos introducido, eureka!. Podemos aprovecharnos de este hecho para introducir nuestro XSS favorito.
Supongamos que tenemos este php que se conecta a la BDD y retorna ciertos valores:
Código
<?php $host = 'localhost'; $dbuser = 'user'; $dbpass = 'password'; $dbname = 'dbname'; echo "<p><h1>Prueba de uso de mysql para generar XSS</h1></p>"; $sql = "SELECT * FROM tabla WHERE id=".$_GET['id']; echo "<h2><center>SQL XSS injection<br>Ejemplos<br><br>"; echo "<font color='#FF0000'>Campo: </font>".$i."<font color='#FF0000'> Valor: </font>".$result[$i]."<br>"; } echo "</h2></center>"; }else{ echo "<center> Funcionamiento: sql.php?id=consulta "; } ?>
de esta manera si insertamos
Código
la consulta nos devolverá algo así como:
sql.php?id=3'"><h1>Hola!</h1>
________________________________________________________________________________________________________________
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''">
Hola!
' at line 1
________________________________________________________________________________________________________________
En esta página lo que produce la magia es la funcion mysql_error() que como habeis visto devuelve la cadena que produjo el fallo.
Es decir, hemos conseguido lo que queríamos. En webs en las cuales no podamos tirar de el tipico buscador resulta un buen flanco de ataque este tipo de técnicas.
Sin más, termino, como siempre, abierto a sugerencias/correcciones/criticas y demás-es