
Exploit de prueba de concepto para CVE-2024-24576, que demuestra la ejecución arbitraria de comandos en Windows mediante inyección de argumentos en archivos BAT. Incluye implementaciones en Python y Go para pruebas y educación.
Un POC rápido para la vulnerabilidad revelada aquí https://flatt.tech/research/posts/batbadbut-you-cant-securely-execute-commands-on-windows/
Después de ejecutar el script, se solicitará un argumento para pasar al archivo BAT.
En la captura de pantalla se puede ver que al agregar " la API subyacente que Windows utiliza para llamar a cmd puede ser escapada, permitiendo la ejecución arbitraria de comandos; en este caso, abrimos calc.exe

Obviamente, este código en sí mismo no es malicioso; solo sirve para demostrar que incluso una entrada saneada (a menos que se eliminen todas las comillas dobles) si se llama a un archivo BAT podría ser explotada de esta manera, afectando potencialmente a aplicaciones web públicas.
Video explicativo https://youtu.be/xjL4pdf7pJ0
Trabajo en curso Hay otros lenguajes marcados como que tienen los mismos problemas. Probé Ruby pero parece no verse afectado; seguiré probando más para ver dónde surgen problemas.
Código en Golang aún por probar. El código en Ruby parece no verse afectado por la misma ruta de explotación.
Crédito: