SSTI (Python) - Pentesting Web

Comment savoir si un site web est potentiellement vulnérable à une attaque SSTI ?
Si nous pouvons introduire une valeur dans un input, comme dans le cas suivant avec la variable user, qui est interprétée dans un output :

Avec whatweb, si nous constatons qu'un serveur web utilise Python, Java, Jinja2, Angularjs... comme langage de programmation et que cela n'est pas sanitisé, il pourrait contenir cette vulnérabilité :

Pour tester cela avec les {{ }}, nous essaierons de voir s'il interprète le calcul :

Dans ce cas, il l'interprète :

Grâce au site web PayloadsAllTheThings, nous trouverons toutes les injections possibles :
Voici quelques exemples avec Python :
Obtenir l'accès à n'importe quelle ressource du système (/etc/passwd) :

Exécuter n'importe quelle commande du système (id) :

Obtenir un accès au serveur :
Nous écoutons avec Netcat et Pwned :)

Mis à jour
Ce contenu vous a-t-il été utile ?