Uso de caracteres Unicode similares para omitir la autenticación

GitHub convertido es susceptible a un ataque que le permite obtener acceso a una cuenta mediante la manipulación de caracteres Unicode en el correo electrónico. El problema es que algunos caracteres Unicode, cuando se utilizan las funciones de conversión de minúsculas o mayúsculas, se traducen a caracteres normales de estilo similar (cuando varios caracteres diferentes se traducen en un carácter, por ejemplo, el carácter turco "ı" y "i " cuando se convierten a mayúsculas se convierten a "I").

Antes de verificar los parámetros de inicio de sesión en algunos servicios y aplicaciones, los datos proporcionados por el usuario primero se convierten a mayúsculas o minúsculas y luego se verifican en la base de datos. Si un servicio permite el uso de caracteres Unicode en un inicio de sesión o correo electrónico, entonces un atacante puede usar caracteres Unicode similares para llevar a cabo un ataque que manipule las colisiones en Unicode Case Mapping Collisions.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@Gıthub.com'.toUpperCase() == '[email protected]'.toUpperCase()

Atacante en GitHub podría a través del formulario de recuperación de contraseña olvidada, inicie el envío de un código de recuperación a otro correo electrónico indicando en el formulario una dirección que incluya un carácter unicode que provoque una colisión (por ejemplo, en lugar de [email protected] se indicó el correo electrónico mı[email protected]). La dirección pasó la prueba porque se convirtió a mayúsculas y coincidió con la dirección original ([email protected] ), pero al enviar la carta se sustituyó tal cual y el código de recuperación se envió a una dirección falsa (mı[email protected]).

Algunos de caracteres, provocando colisiones al convertir el registro:

0x00DF SS
0x0131 yo
0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k

Fuente: opennet.ru

Añadir un comentario