miércoles, 27 de enero de 2016

Hackthis.co.uk- SQLi Level 1


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.
Para resolver el reto se copia la sentencia ‘Or 1=1 –‘; tanto en Username como Password.



0 comentarios:

Publicar un comentario