Enunciado:
Gain access to any users account
[Ingresar
con cualquier cuenta de usuario]
Para
solucionar este reto se debe plantear inicialmente:
¿Qué es
una inyección de SQL?
InyecciónSQL sucede cuando un desarrollador acepta la entrada del usuario que se coloca
directamente en una instrucción SQL y no filtra correctamente caracteres
peligrosos. Esto puede permitir a un atacante no solo roba datos de su base de
datos, sino también modificar y eliminarlo. Algunos servidores SQL Server, como
Microsoft SQL Server contienen almacenados y Extended Procedimientos (funciones
de servidor de base de datos). Si un atacante puede obtener acceso a estos
procedimientos puede ser posible poner en peligro toda la máquina. Los
atacantes habitualmente insertan comillas simples en la cadena de consulta de
una URL, o en un campo de entrada de formularios para la prueba de inyección
SQL.
Se copia
la sentencia ‘or 1=1 –‘;
Este tipo
de sentencia ofrecen respuestas siempre correctas (true o verdadero)
por lo cual suelen ser usadas por los programadores como formas de comprobación,
"va probando" cada carácter consiguiendo un resultado positivo
acumulable cuando hay una coincidencia. De esta manera se puede saber, por
ejemplo, que una contraseña comienza por "F...", luego continúa con
".i...", y luego "..r...", etc (acumula Fir...), hasta
dar con la palabra completa.

0 comentarios:
Publicar un comentario