Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

"Normalizacion Unicode y Desalineacion entre Capas"


GIF

Normalizacion Unicode y Desalineacion entre Capas.


Catálogo técnico interactivo para analizar normalización Unicode aplicada a seguridad web. Enfocado en NFC, NFD, NFKC y NFKD y en cómo discrepancias entre WAF, backend, runtime y navegador generan desalineación semántica explotable. Incluye análisis práctico de equivalencia canónica vs compatibilidad, propiedades de Quick_Check, Composition_Exclusion y comportamiento en distintos puntos del pipeline (input → WAF → backend → runtime → navegador).

Proyecto en investigación activa. El contenido evoluciona conforme se validan nuevos escenarios de normalización y desalineación entre capas.



Problema que resuelve

Cuando auditás aplicaciones web, muchos asumen que usar homoglyphs o caracteres “raros” es suficiente para bypass.

El problema real es otro:

• No todos los sistemas normalizan igual.

• No todos normalizan en el mismo momento.

• Algunos hacen matching antes de normalizar.

• Otros normalizan en NFKC mientras el backend compara en NFC..



Esto genera:

• Falsos positivos en pruebas ofensivas.

• Payloads que “parecen funcionar” pero se recomponen y dejan de ejecutar.

• Ventanas lógicas cuando WAF y backend interpretan distinto el mismo input.


La superficie real no está en el carácter extraño. Está en la desalineación semántica entre capas.



Qué aporta y cómo beneficia


• Comprensión real de NFC, NFD, NFKC y NFKD en contexto ofensivo.

• Diferenciación técnica entre equivalencia canónica y equivalencia de compatibilidad.

• Análisis del impacto de NFC_Quick_Check=Maybe en validaciones.

• Estudio de Composition_Exclusion y estabilidad post Unicode 4.1.

• Evaluación de normalización en concatenación, buffering y condiciones stream-safe.

• Identificación de escenarios donde el orden de normalización altera el resultado final.



Esto permite:

• Reducir bypass teóricos sin base técnica.

• Detectar inconsistencias reales entre WAF y backend.

• Enfocar pruebas en divergencias observables, no en gimmicks visuales.


Resumen rápido



Investigación aplicada a bug bounty ético sobre cómo la normalización Unicode puede modificar la semántica efectiva del input.

No es un estudio de “caracteres raros”.

Es un análisis del pipeline completo de interpretación:

input → normalización → matching → backend → runtime → navegador

Unicode no es solo encoding. Es equivalencia semántica formal definida en el estándar.

La explotación aparece cuando dos capas no aplican la misma equivalencia.



Recursos oficiales utilizados



https://www.unicode.org/versions/Unicode17.0.0/ Página oficial de versiones del estándar Unicode. Documenta reglas formales de normalización, estabilidad y definiciones normativas.

https://www.unicode.org/Public/UCD/latest/ucd/ Unicode Character Database (UCD). Contiene todas las propiedades formales de los codepoints: categorías, decompositions, combining classes, Quick_Check, etc. Es la base técnica real del comportamiento de normalización.

https://www.unicode.org/Public/UCD/latest/ucd/DerivedNormalizationProps.txt Archivo derivado que lista propiedades específicas relacionadas con normalización, como NFC_QC, NFKC_QC y Composition_Exclusion. Fundamental para entender qué caracteres pueden cambiar bajo cada forma.

https://util.unicode.org/UnicodeJsps/character.jsp Herramienta oficial para inspeccionar propiedades de un codepoint individual.

Ejemplo:
https://util.unicode.org/UnicodeJsps/character.jsp?a=2126 Permite analizar propiedades como descomposición, Quick_Check y exclusiones de composición en un carácter concreto (U+2126 OHM SIGN).


Enfoque



Investigación ofensiva con base normativa, centrada en:

• Propiedades formales del estándar Unicode.

• Divergencias reales entre motores de normalización.

• Impacto práctico en WAF, validadores y runtimes.

• Normalización como vector lógico, no visual.



“Analiza cómo NFC, NFD, NFKC y NFKD transforman realmente el input, identifica en qué punto del pipeline se normaliza y detecta desalineaciones entre WAF, backend y runtime antes de que se conviertan en superficie explotable.”


About

📜Estudio práctico sobre normalización Unicode (NFC, NFD, NFKC, NFKD) y desalineación semántica entre WAF, backend y runtime. Analiza cómo el punto y forma de normalización alteran la representación binaria del input y pueden abrir superficies lógicas explotables en entornos reales.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors