Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
OWASP__json-sanitizer_CVE-2020-13973_1-2-0 — Biblioteca Java que convierte contenido malformado similar a JSON en JSON seguro y conforme a los estándares, previniendo la inyección de código y asegurando la incrustabilidad en contextos HTML/XML. | Kitploit
Herramientas/GitHubGitHub/shoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0
Utilidades de Propósito GeneralAnálisis EstáticoHerramientas de Cifrado/DescifradoAnálisis de VulnerabilidadesAnálisis de CódigoSeguridad Web
GitHubshoucheng3/owasp__json-sanitizer_cve-2020-13973_1-2-0

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

Biblioteca Java que convierte contenido malformado similar a JSON en JSON seguro y conforme a los estándares, previniendo la inyección de código y asegurando la incrustabilidad en contextos HTML/XML.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 1 añoAún no revisado

json-sanitizer

Dado contenido similar a JSON, el Sanitizador de JSON lo convierte a JSON válido.

Primeros pasos - Contacto

Esto puede colocarse en cualquier extremo de un pipeline de datos para ayudar a cumplir el principio de Postel:

sé conservador en lo que haces, sé liberal en lo que aceptas de los demás

Aplicado a contenido similar a JSON proveniente de otros, producirá JSON bien formado que debería satisfacer cualquier analizador que uses.

Aplicado a tu salida antes de enviarla, corregirá pequeños errores de codificación y facilitará la incrustación de tu JSON en HTML y XML.

Motivación

Arquitectura

Muchas aplicaciones tienen grandes cantidades de código que utilizan métodos ad-hoc para generar salidas JSON.

Frecuentemente, todas estas salidas pasan a través de una pequeña cantidad de código del framework antes de ser enviadas por la red. Ese pequeño fragmento de código del framework puede usar esta biblioteca para asegurarse de que las salidas ad-hoc cumplen con los estándares y son seguras para pasarlas a deserializadores (demasiado) poderosos como el operador eval de Javascript.

Las aplicaciones también suelen tener APIs de servicios web que reciben JSON de diversas fuentes. Cuando este JSON se crea usando métodos ad-hoc, esta biblioteca puede transformarlo en una forma que sea fácil de analizar.

Al integrar esta biblioteca en el código que envía y recibe solicitudes y respuestas, esta biblioteca puede ayudar a los arquitectos de software a garantizar la seguridad y la buena formación en todo el sistema.

Entrada

El sanitizador toma contenido similar a JSON y lo interpreta como lo haría JS eval. Específicamente, maneja estas construcciones no estándar.

El sanitizador corrige la puntuación faltante, las comillas de cierre y los corchetes de cierre incorrectos o faltantes. Si una entrada contiene solo espacios en blanco, se sustituye la cadena JSON válida null.

Salida

La salida es JSON bien formado según lo definido por RFC 4627. La salida cumple con estas propiedades adicionales:

  • La salida no contendrá la subcadena (sin distinción de mayúsculas/minúsculas) "</script", por lo que puede incrustarse dentro de un elemento script de HTML sin necesidad de codificación adicional.
  • La salida no contendrá la subcadena "]]>", por lo que puede incrustarse dentro de una sección CDATA de XML sin necesidad de codificación adicional.
  • La salida es una expresión Javascript válida, por lo que puede ser analizada por el eval incorporado de Javascript (después de ser envuelta entre paréntesis) o por JSON.parse. Específicamente, la salida no contendrá literales de cadena con saltos de línea JS incrustados (separador de párrafo U+2028 o separador de línea U+2029).
  • La salida contiene solo valores escalares Unicode válidos (sin suplentes UTF-16 aislados) que están permitidos en XML sin escapar.

Seguridad

Dado que la salida es JSON bien formado, pasarla a eval no tendrá efectos secundarios ni variables libres, por lo que no es un vector de inyección de código ni un vector para la exfiltración de secretos.

Esta biblioteca solo garantiza que la fase de cadena JSON → objeto Javascript no tenga efectos secundarios y no resuelva variables libres, y no puede controlar cómo otro código del lado del cliente interprete posteriormente el objeto Javascript resultante. Por lo tanto, si el código del lado del cliente toma una parte de los datos analizados que está controlada por un atacante y la pasa de nuevo a través de un intérprete poderoso como eval o innerHTML, entonces ese código del lado del cliente podría sufrir efectos secundarios no deseados.

root@kitploit:~
var myValue = eval(sanitizedJsonString);  // safe
var myEmbeddedValue = eval(myValue.foo);  // possibly unsafe

Adicionalmente, sanitizar JSON no puede proteger una aplicación de ataques de diputado confundido

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

Rendimiento

El método sanitize devolverá la cadena de entrada sin asignar un nuevo búfer cuando la entrada ya sea JSON válido que cumpla con las propiedades anteriores. Por lo tanto, si se utiliza en entradas que generalmente están bien formadas, tiene un overhead de memoria mínimo.

El método sanitize tiene una complejidad de O(n) donde n es la longitud de la entrada en unidades de código UTF-16.

Descargar herramienta
ConstrucciónPolítica
'...'Las cadenas entre comillas simples se convierten en cadenas JSON.
\xABLos escapes hexadecimales se convierten en escapes Unicode JSON.
\012Los escapes octales se convierten en escapes Unicode JSON.
0xABLos literales enteros hexadecimales se convierten en números decimales JSON.
012Los literales enteros octales se convierten en números decimales JSON.
+.5Los números decimales se coercionan al formato más estricto de JSON.
[0,,2]Las elisiones en arreglos se llenan con null.
[1,2,3,]Las comas finales se eliminan.
{foo:"bar"}Los nombres de propiedad sin comillas se entrecomillan.
//commentsLos comentarios de línea y bloque estilo JS se eliminan.
(...)Los paréntesis de agrupación se eliminan.