Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
OWASP__json-sanitizer_CVE-2020-13973_1-2-0 | Kitploit
Strumenti/GitHubGitHub/shoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0
Utilità GenericheAnalisi StaticaStrumenti di Crittografia/DecrittografiaAnalisi delle VulnerabilitàAnalisi del CodiceSicurezza Web
GitHubshoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0

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

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
1 anno faNon ancora revisionato

json-sanitizer

Dato un contenuto simile a JSON, JSON Sanitizer lo converte in JSON valido.

Per iniziare - Contatti

Può essere collegato a entrambe le estremità di una pipeline di dati per aiutare a soddisfare il principio di Postel:

sii conservatore in ciò che fai, sii liberale in ciò che accetti dagli altri

Applicato a contenuti simili a JSON provenienti da altri, produrrà JSON ben formato che dovrebbe soddisfare qualsiasi parser tu utilizzi.

Applicato al tuo output prima di inviarlo, correggerà piccoli errori di codifica e renderà più facile incorporare il tuo JSON in HTML e XML.

Motivazione

Architettura

Molte applicazioni hanno grandi quantità di codice che utilizza metodi ad hoc per generare output JSON.

Spesso questi output passano tutti attraverso una piccola quantità di codice del framework prima di essere inviati sulla rete. Questa piccola quantità di codice del framework può utilizzare questa libreria per garantire che gli output ad hoc siano conformi agli standard e sicuri da passare a deserializzatori ( troppo) potenti come l'operatore eval di Javascript.

Le applicazioni hanno spesso anche API di servizi web che ricevono JSON da una varietà di fonti. Quando questo JSON viene creato utilizzando metodi ad hoc, questa libreria può trasformarlo in una forma facile da analizzare.

Collegando questa libreria al codice che invia e riceve richieste e risposte, questa libreria può aiutare gli architetti software a garantire sicurezza e buona formazione a livello di sistema.

Input

Il sanitizer prende contenuti simili a JSON e li interpreta come farebbe la valutazione JS. Nello specifico, gestisce questi costrutti non standard.

Il sanitizer corregge punteggiatura mancante, virgolette finali e parentesi di chiusura non corrispondenti o mancanti. Se un input contiene solo spazi bianchi, viene sostituita la stringa JSON valida null.

Output

L'output è JSON ben formato come definito da RFC 4627. L'output soddisfa queste proprietà aggiuntive:

  • L'output non conterrà la sottostringa (senza distinzione tra maiuscole e minuscole) "</script", quindi può essere incorporato all'interno di un elemento script HTML senza ulteriore codifica.
  • L'output non conterrà la sottostringa "]]>", quindi può essere incorporato all'interno di una sezione CDATA XML senza ulteriore codifica.
  • L'output è un'espressione Javascript valida, quindi può essere analizzato dal builtin eval di Javascript (dopo essere stato racchiuso tra parentesi) o da JSON.parse. Nello specifico, l'output non conterrà alcun letterale di stringa con nuove righe JS incorporate (separatore di paragrafo U+2028 o separatore di riga U+2029).
  • L'output contiene solo valori scalari Unicode validi (nessun surrogato UTF-16 isolato) che sono consentiti in XML senza escape.

Sicurezza

Poiché l'output è JSON ben formato, passarlo a eval non avrà effetti collaterali né variabili libere, quindi non è né un vettore di code-injection, né un vettore per l'esfiltrazione di segreti.

Questa libreria garantisce solo che la fase stringa JSON → oggetto Javascript non abbia effetti collaterali e non risolva variabili libere, e non può controllare come altro codice lato client interpreti successivamente l'oggetto Javascript risultante. Quindi, se il codice lato client prende una parte dei dati analizzati che è controllata da un attaccante e la ripassa attraverso un interprete potente come eval o innerHTML, quel codice lato client potrebbe subire effetti collaterali indesiderati.

root@kitploit:~
var myValue = eval(sanitizedJsonString);  // sicuro
var myEmbeddedValue = eval(myValue.foo);  // potenzialmente non sicuro

Inoltre, sanificare JSON non può proteggere un'applicazione da attacchi Confused Deputy

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

Prestazioni

Il metodo sanitize restituirà la stringa di input senza allocare un nuovo buffer quando l'input è già JSON valido che soddisfa le proprietà sopra indicate. Pertanto, se utilizzato su input solitamente ben formati, ha un overhead di memoria minimo.

Il metodo sanitize richiede tempo O(n) dove n è la lunghezza dell'input in code-unit UTF-16.

Scarica lo strumento
CostruttoPolitica
'...'Le stringhe tra apici singoli vengono convertite in stringhe JSON.
\xABLe sequenze di escape esadecimali vengono convertite in escape Unicode JSON.
\012Le sequenze di escape ottali vengono convertite in escape Unicode JSON.
0xABI letterali interi esadecimali vengono convertiti in numeri decimali JSON.
012I letterali interi ottali vengono convertiti in numeri decimali JSON.
+.5I numeri decimali vengono convertiti nel formato più rigoroso di JSON.
[0,,2]Le elisioni negli array vengono riempite con null.
[1,2,3,]Le virgole finali vengono rimosse.
{foo:"bar"}I nomi di proprietà senza virgolette vengono racchiusi tra virgolette.
//commentsI commenti in linea e a blocco in stile JS vengono rimossi.
(...)Le parentesi di raggruppamento vengono rimosse.