Akamai Bot Manager Sensor v3 Analizi
Kaynak Zara üzerindeki script’ler
Versiyon Akamai Sensor v3
Not Bu yapı sadece Zara’ya özel değil. Akamai kullanan birçok büyük sitede (özellikle Premier seviyesinde) benzer veya birebir aynı pipeline kullanılır.
Genel Bakış
Akamai Bot Manager, sayfa yüklendiğinde iki büyük obfuscate edilmiş JavaScript dosyası enjekte eder. Bu script’ler arka planda tarayıcıdan yüzlerce sinyal toplar, bunları şifreler ve sensor_data adı altında sunucuya gönderir. Sunucu bu veriyi değerlendirerek _abck cookie’sini günceller. Cookie geçerli değilse istekler engellenir veya challenge çıkarılır.
Temel Sabitler
Script içinde sayılar doğrudan yazılmaz. Bunun yerine birbirinden türetilen sabitler kullanılır
SabitDeğerNasıl ÜretiliyorCK1+!![]X52CK + CKkn3CK + X5rb5kn + X5hU6X5 kn CKkD4kn + CKKU7X5 kD - hU + rbwl10kn hU - KU - CKSW8KU CK + X5 + kn - kDGf9CK SW - kD + rbwO100wl Gf + KU + knTq33X5 + wl + KU kn
Bunlardan türetilen daha büyük sabitler de var (TK=14, DR=40, S8=104, wh=207, tr=600, qpL=630, jTL=708, RcL=494 vb.).
Veri Toplama (CVs Objesi)
Tüm sinyaller CVs adında bir objeye toplanır. Önemli alanlar
IndexKaynakNe Topluyor?0zBLScript version / hash1r4LSayfa context’i (URL, referrer vb.)2UpsInput element fingerprint3YjsEncode edilmiş event verisi4lZLScript yüklenme süresi5M0sMouse timing / count6MJLWindow visibility state7xvLScroll event verisi8PVsChallenge / replay flag9-10PTs / A8LTouch event sayacı ve koordinatları11tLsKlavye event string’i12AssMouse event string’i13LPshistory.length + performance timing15hIL14 elemanlı mouse detay sub-array18XPsCanvas / WebGL fingerprint (CIL())19SILPlugin / mime-type fingerprint...OQLbm_sz / ak_bmsc cookie içeriği...W4LMouse velocity...tILTab visibility değişim sayısı
r4L objesi sayfa context bilgisini tutar (URL, referrer, document title vb.). Tam field listesi runtime’da çözülüyor, statik olarak net değil.
Ayrıca UIL flag’i true olduğunda ekstra timing ve sensör alanları eklenir.
Encoding Pipeline (MnL)
Toplanan CVs objesi şu adımlardan geçer
JSON.stringify → string’e çevrilir
fSL (Fisher-Yates Shuffle) → karakterler karıştırılır (seed: cookie’den gelen değer)
QHL (XOR Stream Cipher) → her karakter PRNG ile XOR’lanır + lookup table ile substitute edilir
Prefix + Timing Metadata eklenir
Final string ~ ile birleştirilir:
text
nUs ~ jws ~ encoded_MnL
Separator karakteri ~ olarak doğrulanmıştır.
Final Çıktı
Oluşan string Xcs() fonksiyonu ile window.bmak.sensorData (veya benzeri) property’sine yazılır.
.js tarafı ise XHR’ları dinler ve gerekirse form’a hidden input ekleyerek sensor_data’yı sunucuya gönderir.
Dinlenen Event’ler
Script şu event’leri dinler
mousemove, mousedown, mouseup, mouseover
keydown, keyup
scroll, wheel
touchstart, touchmove, touchend
devicemotion, deviceorientation
visibilitychange
cut, copy, paste
Hepsi kendi string accumulator’larına yazılır.
Önemli Teknik Detaylar
SHA-256 tam implementasyonu var (form field fingerprint için kullanılıyor)
MurmurHash3 benzeri bir hash .js içinde mevcut
Cookie’ler: abck (ana challenge cookie) ve bmsz / ak_bmsc
Script’ler birbirini sjs_se_global_subkey array’i üzerinden tanıyor
Sonuç
Bu analiz Akamai Sensor v3 pipeline’ının detaylı bir dökümüdür.
Zara üzerinden alınmıştır ama yapı geneldir. Farklı sitelerde
değişebilir. Ancak temel toplama + shuffle + XOR + timing metadata akışı aynı kalır.
DC: bbb000bb
COOKIE
Bu Konuda Çerez (Cookie) İçeriği Tespit Edilmiştir!
Siberdeyiz Akıllı Çerez Rehberi
Bu paylaşımdaki çerezlerin (cookies) nasıl kullanılacağını öğrenmek, tarayıcınıza veya eklentiye nasıl aktarılacağını adım adım görmek ve videolu anlatımları izlemek için rehber konumuza göz atabilirsiniz.
Bu başlığın işlevselliğini ve içeriğini değerlendirin:
Topluluğun kaliteli ve güncel içeriklere kolayca ulaşabilmesi için geri bildiriminiz önemlidir.
Son düzenleme: wampiew • (Değişiklikleri Gör)