Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
Research_Successful_Errors — Whitepaper apresentando técnicas cegas baseadas em erro e erro booleano para SSTI e injeção de código, com payloads universais para seis linguagens de programação e integração no SSTImap. | Kitploit
Ferramentas/GitHubGitHub/vladko312/research_successful_errors
Análise de VulnerabilidadesAnálise de CódigoExploração de Aplicações WebFuzzingCTFTestes de PenetraçãoPapers e PesquisaAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubvladko312/research_successful_errors

Research_Successful_Errors

Whitepaper apresentando técnicas cegas baseadas em erro e erro booleano para SSTI e injeção de código, com payloads universais para seis linguagens de programação e integração no SSTImap.

Ver Repositório
1211313há 7 mesesRevisado 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

Successful Errors: Novas Técnicas de Injeção de Código e SSTI

Report version Last modified

[!NOTE] Esta é a segunda versão do whitepaper baseada nos resultados que apresentei antes de lançar o SSTImap versão 1.3.1. Melhorias adicionais seriam adaptadas para este formato como versão 1.2 da pesquisa em data posterior.

  • Payloads
  • Whitepaper imprimível
  • Slides

Algumas categorias de vulnerabilidades podem, à primeira vista, parecer bem conhecidas e um tanto óbvias. Pode parecer que todas as técnicas possíveis para essas vulnerabilidades são conhecidas, então apenas payloads para casos incomuns podem ser descobertos. Injeção de Modelo do Lado do Servidor (SSTI) e Injeção de Código são frequentemente consideradas essas categorias bem conhecidas.

Às vezes, novas técnicas com nomes autoexplicativos são encontradas para essas vulnerabilidades. Muitos pesquisadores podem considerar essas técnicas igualmente conhecidas ou até mesmo lembrar de usá-las, mas, na realidade, a técnica pode existir apenas como um nome comumente entendido, sem pesquisa, descrições ou payloads universais. Pode ser mencionada algumas vezes juntamente com payloads para casos muito específicos, mas não seria testada e o real potencial dessa técnica pode permanecer desconhecido por anos.

Esta pesquisa apresenta duas dessas técnicas para Injeção de Código e SSTI: Baseada em Erro e Cega Baseada em Erro Booleano. Fornecerei payloads para Injeção de Código e SSTI em seis linguagens de programação: Python, PHP, Java, Ruby, NodeJS e Elixir. Além disso, fornecerei payloads de detecção universais, capazes de detectar rapidamente até mesmo injeções cegas.

Fornecerei a linha do tempo completa da minha pesquisa, desde a descoberta das primeiras pistas até as conclusões finais. Também explorarei o processo de criação de novos payloads para linguagens de programação e templates não mencionados nesta pesquisa.

Nesta pesquisa, mostrarei exemplos de aplicações práticas das novas técnicas e compartilharei áreas potenciais para pesquisas futuras. Todos os payloads fornecidos podem ser usados para detectar e explorar vulnerabilidades em aplicações reais. Além disso, todos os payloads fornecidos foram adicionados à ferramenta de código aberto SSTImap, o que facilita a aplicação dos resultados desta pesquisa em alvos do mundo real.

Esboço

  • Introdução
  • Pistas
    • Dust.JS
    • Twig (CVE-2022-23614)
    • JSONPath Plus (CVE-2025-1302)
    • expr-eval (CVE-2025-13204)
  • SSTI Baseada em Erro
    • Python
    • PHP
    • Java
    • Ruby
    • NodeJS
    • Elixir
    • Detecção Genérica
    • Desenvolvimento de Payloads
  • SSTI Cega Baseada em Erro Booleano
    • Detecção de Erro
    • Python
    • PHP
    • Java
    • Ruby
    • NodeJS
    • Elixir
    • Detecção Genérica
    • Desenvolvimento de Payloads
  • Aplicação Prática
    • expr-eval (CVE-2025-13204)
    • JSONPath Plus (CVE-2025-1302)
    • Twig (CVE-2022-23614)
    • Dust.JS
  • Conclusões
  • Referências

Introdução

As vulnerabilidades de Injeção de Modelo do Lado do Servidor surgem em sites dinâmicos que usam mecanismos de template para renderização no lado do servidor, quando a entrada do usuário não confiável é inserida no template antes de ser processada pelo mecanismo de template. Um ator malicioso pode inserir sintaxe de template válida, que será processada por um mecanismo de template durante a renderização da página. Muitos mecanismos de template fornecem alguma forma de funcionalidade de execução de código, o que frequentemente leva à Execução Remota de Código (RCE) no servidor alvo. Esta pesquisa é focada em mecanismos de template que oferecem tais capacidades em caso de exploração.

As vulnerabilidades SSTI são conhecidas desde 2015 e, nesse período, muitos payloads foram descobertos, fornecendo extração de informações, bypass de filtros e escape de sandbox. Apesar disso, a maioria dos payloads ou renderiza o resultado diretamente na página ou foca no fato da execução do código em si, descartando os resultados produzidos por esse código.

Fluxo de injeção renderizada

Outra técnica SSTI bem conhecida é a Cega Baseada em Tempo, que envolve adicionar um atraso ao comando shell executado. Essa técnica permite determinar o sucesso da execução do código injetado, mas requer adivinhar o payload para a execução do comando do SO, o que torna mais difícil detectar SSTI cega em um mecanismo de template desconhecido para o pesquisador.

Fluxo de injeção cega baseada em tempo

A classe de vulnerabilidade SSTI e ambas as técnicas de exploração conhecidas foram descobertas em 2015 por James Kettle. Essas técnicas são descritas em grande detalhe em sua pesquisa “Server-Side Template Injection: RCE For The Modern Web App”. [^1] Em dez anos desde então, nenhuma nova técnica de exploração foi documentada. Apenas uma técnica de detecção foi descoberta em 2023, usando payloads políglotas para testar vários mecanismos de template de uma só vez. Essa técnica foi descoberta por Maximilian Hildebrand e descrita em sua pesquisa “Improving the Detection and Identification of Template Engines for Large-Scale Template Injection Scanning”. [^2] A técnica é focada em determinar os mecanismos de template usando a quantidade mínima de requisições, mas funciona apenas para contextos de injeção simples.

Fluxo de detecção baseada em políglota

A maioria dos mecanismos de template baseados em linguagens de programação interpretadas, como PHP, NodeJS e Python, permite diretamente a avaliação de expressões das linguagens de programação correspondentes. Essa capacidade nos permite usar payloads para uma categoria mais ampla de vulnerabilidade de Injeção de Código, encapsulando-os no formato correto da tag do template.

A Injeção de Código também pode ocorrer sem SSTI, quando a entrada do usuário não confiável pode alcançar eval() ou uma função perigosa semelhante. Frequentemente considera-se que a exploração de Injeção de Código é apenas programar na linguagem correspondente, então técnicas e payloads são documentados apenas para exemplos específicos de vulnerabilidades, que exigem adaptação do código para a aplicação alvo.

A falta de técnicas de detecção mais universais para Injeção de Código e SSTI leva à ineficiência da varredura de caixa-preta para injeções cegas de código e template.

Baixar ferramenta