$result = $db->query('SELECT * FROM USERS WHERE password="'.$_GET['password'].'"');
if($result->fetchArray()) $step1=true;
$result = $db->query('SELECT * FROM USERS WHERE password=\''.$_GET['password'].'\'');
if($result->fetchArray()) $step2=true;
$result = $db->query('SELECT * FROM USERS WHERE password='.$_GET['password']);
if($result->fetchArray()) $step3=true;
Este código es parte de un desafío ctf que estoy haciendo estrictamente con fines de aprendizaje y no estoy muy seguro de cómo hacer que cada una de estas declaraciones SQL se evalúe como verdadera.
Algunos pensamientos que tenía estaban haciendo una declaración de inserción donde la contraseña sería igual a la declaración de inyección, pero no estoy seguro de que sea un buen enfoque. Si es posible, me gustaría obtenerlo sin modificaciones en la base de datos backend.
Realmente no estoy buscando una respuesta directa, pero quizás alguna orientación.
Aprecia la ayuda.
EDIT : $ step1, $ step2 y $ step3 necesitan ser evaluados como verdaderos