
Exploit de prueba de concepto para CVE-2024-2961, que aprovecha fallos de codificación de iconv y cadenas de filtros de PHP para leer archivos arbitrarios de servidores vulnerables mediante subidas de payloads manipulados.
Este script demuestra cómo explotar una vulnerabilidad en sistemas que utilizan la biblioteca iconv cuando maneja incorrectamente las conversiones de codificación de caracteres, como se describe en CVE-2024-2961. Permite a un atacante leer archivos arbitrarios del servidor aprovechando cadenas de filtros PHP y un manejo defectuoso de la codificación.
El script automatiza el proceso de subir un payload manipulado, recuperar el archivo resultante y mostrar su contenido. Se basa en la investigación detallada en el artículo: Iconv CVE-2024-2961: Explotando Conversiones de Codificación de Caracteres.
El script sigue estos pasos:
Creación del Payload
Crea un payload de cadena de filtros PHP que aprovecha las conversiones de codificación de iconv para leer cualquier archivo en el servidor. Este payload está diseñado para eludir las restricciones normales, permitiendo el acceso a archivos como /etc/passwd u otros archivos sensibles.
Subida de Archivo
Envía una solicitud POST al endpoint admin-ajax.php del servidor objetivo, simulando una subida de imagen. El payload está oculto dentro de la solicitud para que el servidor lo procese como si fuera un archivo legítimo.
Descarga de Archivo
Después de subir el payload, el script descarga el archivo que ahora contiene el contenido del archivo objetivo. Finalmente, extrae y muestra estos contenidos.
requests (instálala con pip install requests)iconv y PHP.Clonar el Repositorio o Descargar el Script:
git clone https://github.com/kyotozx/CVE-2024-2961-Remote-File-Read.git
cd CVE-2024-2961-Remote-File-Read
Ejecutar el Script:
python3 lfi.py
Sigue las Instrucciones:
/etc/passwd).1).Qué Hace el Script:
Remote File Read Exploitation - CVE-2024-2961
Enter the path of the file you want to read (e.g., /etc/passwd): /etc/passwd
Enter a numeric ID for the upload (e.g., 1): 1
File uploaded successfully: http://blog.bigbang.htb/wp-content/uploads/2025/01/1-50.png
File content:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
Este script está destinado únicamente a fines educativos y de pruebas autorizadas. No lo utilices en sistemas sin permiso explícito.