Oxşar Unicode simvollarından istifadə edərək autentifikasiya ətrafında fırıldaq

GitHub oldu hesabınıza erişimi ele geçirme yeteneğine sahip bir saldırıya maruz kalmış durumda. Sorun, bazı Unicode sembollerinin büyük veya küçük harfe dönüştürme işlevleri uygulandığında, yazı karakteri olarak benzer olan sıradan sembollere dönüşmesi ile ilgilidir (örneğin, Türkçe 'ı' ve 'i' büyük harfe dönüştüğünde 'I' olarak şekillenir).

Giriş parametrelerini kontrol etmeden önce, bazı hizmetlerde ve uygulamalarda, kullanıcının gönderdiği veriler önce büyük veya küçük harfe dönüştürülür ve ardından veritabanında kontrol edilir. Eğer hizmet, kullanıcı adı veya e-posta adresinde Unicode sembollerinin kullanılmasına izin veriyorsa, saldırgan benzer Unicode sembollerini kullanarak, harflerin büyük/küçük harf dönüşüm tablolarındaki çakışmaları manipüle eden bir saldırı gerçekleştirebilir (Unicode Case Mapping Collisions).

‘ß’.toUpperCase() == ‘ss’.toUpperCase() // 0x0131
‘K’.toLowerCase() == ‘K’.toLowerCase() // 0x212A
‘John@Gıthub.com’.toUpperCase() == ‘John@Github.com’.toUpperCase()

GitHub'da saldırgan şu şekilde şifreyi unuttum formu aracılığıyla hatırlatıcı kod göndermeyi başlatabilir, formda çakışmaya yol açan bir Unicode sembolü içeren bir adres belirtildiğinde başka bir e-posta adresine gönderebilir (örneğin, mike@example.org yerine mıke@example.org). Adres, büyük harfe dönüştürülerek kontrol edildiği için geçerli sayıldı ve asıl adresle (mike@example.org) uyuştu, ancak e-posta gönderildiğinde olduğu gibi kullanıldı ve hatırlatıcı kod dolandırıcı bir adrese gitti (mıke@example.org).

Çakışmaya neden olan bazı semboller, büyük/küçük harf dönüşümünde çakışmalar yaratan:

ß 0x00DF SS
ı 0x0131 I
ſ 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

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster