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 — json-sanitizer com CVE-2020-13973 | Kitploit
Ferramentas/GitHubGitHub/epicosy/json-sanitizer
Utilitários de Propósito GeralFerramentas de Criptografia/DescriptografiaAnálise de VulnerabilidadesAnálise de CódigoSegurança Web
GitHubepicosy/json-sanitizer

json-sanitizer

json-sanitizer com CVE-2020-13973

Ver Repositório
há 2 anosAinda não revisado

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

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

Começando - 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, corrigirá 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 por uma pequena quantidade de código de framework antes de serem enviadas pela rede. Essa pequena quantidade de código de framework pode usar esta biblioteca para garantir que as saídas ad-hoc estejam em conformidade com os padrões e sejam seguras para serem passadas para desserializadores (demasiadamente) poderosos como o operador eval do Javascript.

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

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

Entrada

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

O sanitizador corrige pontuação faltante, aspas finais e colchetes de fechamento incorretos ou ausentes. Se uma entrada contiver apenas espaços 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á a substring (sem distinção de maiúsculas/minúsculas) "</script", portanto pode ser incorporada dentro de um elemento script HTML sem codificação adicional.
  • A saída não conterá a substring "]]>", portanto pode ser incorporada dentro de uma seção CDATA XML sem codificação adicional.
  • A saída é uma expressão Javascript válida, portanto pode ser analisada pelo eval do Javascript (após ser envolvida em parênteses) ou por JSON.parse. Especificamente, a saída não conterá literais de string com quebras de linha JS embutidas (Separador de Parágrafo U+2028 ou Separador de Linha U+2029).
  • A saída contém apenas valores escalares Unicode válidos (sem surgates UTF-16 isolados) que são permitidos em XML sem escape.

Segurança

Como a saída é JSON bem formado, passá-la 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 de 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 esteja sob controle de um invasor 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);  // safe
var myEmbeddedValue = eval(myValue.foo);  // possibly unsafe

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

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 mínima de memória.

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 coagidos para o formato mais rigoroso do JSON.
[0,,2]Elipses 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.