Ejercicio Inyección SQL

Iniciado por zedmix, Mayo 07, 2017, 11:38:58 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 07, 2017, 11:38:58 AM Ultima modificación: Mayo 07, 2017, 01:02:43 PM por Gabriela
Buenas tardes, estoy tratando de realizar un ejercicio y le he echo varias pruebas, con herramientas y también con pruebas manuales y no termino de conseguir el resultado. Si alguien me podría dar una guía lo agradecería, os pongo en situación.

Tengo un login

El cual tiene la siguiente función:

Código: php
function areUserAndPasswordValid($user, $password) {
global $db, $userId;

$query = SQLite3::escapeString('SELECT userId, password FROM users WHERE username = "' . $user . '"');

$result = $db->query($query) or die ("Invalid query: " . $query . ". Field user introduced is: " . $user);
$row = $result->fetchArray();

if ($row === FALSE)
return FALSE;

if ($password == $row['password'])
{
$userId = $row['userId'];
$_COOKIE['userId'] = $userId;
return TRUE;
}
else
{
return FALSE;
}
}


Y se me facilita una lista de posibles password, pero nunca se me facilita ningún usuario.

¿Que infección estas haciendo?

Mayo 09, 2017, 01:12:42 AM #2 Ultima modificación: Mayo 09, 2017, 09:06:30 PM por seth
Deberia salir, mostra lo que estas haciendo

Tambien, cuando te trabas practicando sqli, podes tirarle sqlmap con -v (o varias v) para que te muestre lo que esta haciendo


La inyeccion seria algo asi:
Citarnoexiste" union select password, "culo" from users limit 1,1 -- -
con eso la consulta va a devolver la clave en el campo userid, que es el que vas a poder ver a traves de la cookie
tambien trae "culo" en el campo password, asi que vas a tener que usar esa clave para que entre al if

¿Seguro que un select sin from pidiendo el campo password devuelve algo?

Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro.


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
¿Seguro que un select sin from pidiendo el campo password devuelve algo?
me lo olvidé, ahi lo corregí