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
OWASP__json-sanitizer_CVE-2020-13973_1-2-0 — Biblioteca Java que converte conteúdo malformado semelhante a JSON em JSON seguro e em conformidade com os padrões, prevenindo injeção de código e garantindo incorporabilidade em contextos HTML/XML. | Kitploit
Ferramentas/GitHubGitHub/shoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0
Utilitários de Propósito GeralAnálise EstáticaFerramentas de Criptografia/DescriptografiaAnálise de VulnerabilidadesAnálise de CódigoSegurança Web
GitHubshoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0

OWASP__json-sanitizer_CVE-2020-13973_1-2-0

Biblioteca Java que converte conteúdo malformado semelhante a JSON em JSON seguro e em conformidade com os padrões, prevenindo injeção de código e garantindo incorporabilidade em contextos HTML/XML.

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
Ver Repositório
há 1 anoAinda não revisado

json-sanitizer

Dado conteúdo semelhante a JSON, o JSON Sanitizer converte-o 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 vindo 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 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 passar para desserializadores (excessivamente) poderosos como o operador eval do Javascript.

Aplicações também frequentemente possuem APIs de serviço web que recebem JSON de uma variedade de 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 ao código que envia e recebe requisições e respostas, ela pode ajudar arquitetos de software a garantir a 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 incorrespondentes ou faltantes. Se uma entrada contém apenas espaços em branco, então a string JSON válida null é substituída.

Saída

A saída é JSON bem formado conforme definido por 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 embutido 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 pares substitutos 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 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 está sob controle de um atacante e passá-la de volta através de um interpretador poderoso como eval ou innerHTML, então esse código do lado do cliente pode sofrer efeitos colaterais indesejados.

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

Além disso, sanitizar JSON não pode proteger uma aplicação de ataques de Deputado 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á é JSON válido que satisfaz 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 forçados para o formato mais restrito 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.