Json Web Tokens Cracking
web hacking
el ataque a json web tokens o json web token cracking se produce cuando un atacante es capaz de obtener información sobre los JWT que se utilizan en la aplicación, lo que podría permitir al atacante explotar las debilidades en la autenticación y autorización de la aplicación. si un atacante tiene éxito en la enumeración de un JWT valido también podría obtener información confidencial como usernames, passwords, roles, datos de autorización y sobre todo escalar privilegios ya sea de forma vertical y horizontal.
fallas validación de firma en json web tokens
Tokens sin validación de firma
la firma de un JWT es la tercera parte del token la cual garantiza la integridad del token, y autenticidad del mismo (que no se haya modificado o pertenezca a alguien), es generado al combinar el encabezado y carga útil del token con un secreto (se le aplica un algoritmo criptográfico) esto lo hace difícil de conseguir al menos que hayan otras fallas adicionales.
Una de estas vulnerabilidades que pueden aparecer es que el servidor web no valida que la firma este presente en el token, esto significa que podemos simplemente eliminar la firma del token y utilizar el nuevo de forma maliciosa
Validación de firma defectuosa por algoritmo vacío
otro fallo común, es que el servidor acepta tokens sin firma, siempre y cuando el campo alg (parámetro que especifica el algoritmo criptográfico que se usó para firmar el token) se defina como none (nulo), esto nos permite manipular los tokens eliminando la firma al dejar ese parámetro en el encabezado
Last updated