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
json-sanitizer — Given JSON-like content, The JSON Sanitizer converts it to valid JSON. | Kitploit
Ferramentas/GitHubGitHub/owasp/json-sanitizer
General Purpose UtilitiesStatic AnalysisEncryption/Decryption ToolsVulnerability AnalysisCode AnalysisWeb Security
GitHubowasp/json-sanitizer

json-sanitizer

Given JSON-like content, The JSON Sanitizer converts it to valid JSON.

Ver Repositório
21955há 2 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

json-sanitizer Fuzzing Status

Dado conteúdo semelhante a JSON, o JSON Sanitizer converte isso em JSON válido.

Introdução - Contato

Isso pode ser anexado em qualquer extremidade de um pipeline de dados para ajudar a satisfazer o princípio de Postel:

seja conservador no que você faz, seja liberal no que você aceita dos outros

Aplicado a conteúdo semelhante a JSON de outros, produzirá JSON bem formado que deve satisfazer qualquer analisador que você use.

Aplicado à sua saída antes de enviar, forçará pequenos erros de codificação e tornará mais fácil incorporar seu JSON em HTML e XML.

Motivação

Arquitetura

Muitas aplicações possuem grandes quantidades de código que usam métodos ad-hoc para gerar saídas JSON.

Frequentemente, essas saídas passam todas por uma pequena quantidade de código de estrutura antes de serem enviadas pela rede. Esse pequeno código de estrutura pode usar esta biblioteca para garantir que as saídas ad-hoc estejam em conformidade com os padrões e sejam seguras para passar para desserializadores (excessivamente) poderosos como o operador eval do Javascript.

As aplicações também costumam ter APIs de serviço web que recebem JSON de várias fontes. Quando esse JSON é criado usando métodos ad-hoc, esta biblioteca pode massageá-lo em uma forma que seja fácil de analisar.

Ao conectar esta biblioteca ao código que envia e recebe requisições e respostas, esta biblioteca pode ajudar arquitetos de software a garantir segurança e conformidade em todo o sistema.

Entrada

O sanitizador aceita conteúdo semelhante a JSON e o interpreta como o eval do JS faria. Especificamente, lida com estas construções não padronizadas.

O sanitizador corrige pontuação ausente, aspas finais e colchetes de fechamento incompatíveis ou ausentes. Se uma entrada contiver apenas espaço em branco, a string JSON válida null é substituída.

Saída

A saída é JSON bem formado conforme definido pela RFC 4627. A saída satisfaz estas propriedades adicionais:

  • A saída não conterá as substrings (sem diferenciar maiúsculas/minúsculas) "<script", "</script" ou "<!--" e, portanto, pode ser incorporada em um elemento script HTML sem codificação adicional.
  • A saída não conterá a substring "]]>" e, portanto, pode ser incorporada em uma seção CDATA XML sem codificação adicional.
  • A saída é uma expressão Javascript válida, portanto pode ser analisada pelo eval embutido do Javascript (depois de envolvida em parênteses) ou por JSON.parse. Especificamente, a saída não conterá literais de string com novas linhas JS incorporadas (separador de Parágrafo U+2028 ou separador de Linha U+2029).
  • A saída contém apenas valores escalares Unicode válidos (sem pares substitutos UTF-16 isolados) que são permitidos em XML sem escape.

Segurança

Como a saída é JSON bem formado, passá-lo para eval não terá efeitos colaterais nem variáveis livres, portanto não é um vetor de injeção de código nem um vetor para exfiltração de segredos.

Esta biblioteca apenas garante que a fase string JSON → objeto Javascript não tenha efeitos colaterais e não resolva variáveis livres, e não pode controlar como outro código do lado do cliente interpreta posteriormente o objeto Javascript resultante. Portanto, se o código do lado do cliente pegar uma parte dos dados analisados que é controlada por um atacante e passá-la de volta por um interpretador poderoso como eval ou innerHTML, esse código do lado do cliente pode sofrer efeitos colaterais indesejados.

root@kitploit:~
var myValue = eval(sanitizedJsonString);  // seguro
var myEmbeddedValue = eval(myValue.foo);  // potencialmente inseguro

Além disso, sanitizar JSON não pode proteger uma aplicação contra ataques de Confused Deputy

root@kitploit:~
var myValue = JSON.parse(sanitizedJsonString);
addToAdminstratorsGroup(myValue.propertyFromUntrustedSource);

Desempenho

O método sanitize retornará a string de entrada sem alocar um novo buffer quando a entrada já for JSON válido que satisfaça as propriedades acima. Assim, se usado em entrada que geralmente é bem formada, tem sobrecarga de memória mínima.

O método sanitize leva tempo O(n) onde n é o comprimento da entrada em unidades de código UTF-16.

Baixar ferramenta
ConstruçãoPolítica
'...'Strings com aspas simples são convertidas para strings JSON.
\xABEscapes hexadecimais são convertidos para escapes Unicode JSON.
\012Escapes octais são convertidos para escapes Unicode JSON.
0xABLiterais inteiros hexadecimais são convertidos para números decimais JSON.
012Literais inteiros octais são convertidos para números decimais JSON.
+.5Números decimais são convertidos para o formato mais rigoroso do JSON.
[0,,2]Elisões em arrays são preenchidas com null.
[1,2,3,]Vírgulas finais são removidas.
{foo:"bar"}Nomes de propriedades sem aspas são colocados entre aspas.
//commentsComentários de linha e bloco no estilo JS são removidos.
(...)Parênteses de agrupamento são removidos.