top of page

Portswigger Lab: Brute-forcing a stay-logged-in cookie

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
28 Nis
2 dakikada okunur

Portswigger Lab: Brute-forcing a stay-logged-in cookie

PortSwigger’daki “Brute-forcing a stay-logged-in cookie” labine başladım ve bu yazıda hem mantığını hem de çözüme giden yaklaşımı paylaşacağım. Bu lab, kullanıcı tarayıcıyı kapatsa bile oturumun açık kalmasını sağlayan bir “stay logged in” çerezinin nasıl brute-force edilebileceğini gösteriyor.

Uygulamada kullanılan çerez yapısı zayıf olduğu için, doğru kombinasyonu tahmin ederek kurbanın hesabına erişmek mümkün. Bizden istenen de tam olarak bu: Carlos’un “stay-logged-in” cookie değerini brute-force ederek onun My Account sayfasına erişmek.

Lab bize şu bilgileri sağlıyor:

Bizim hesabımız: wiener : peter

Kurban kullanıcı: carlos

Kullanılabilecek parola adayları: liste halinde veriliyor

bize verilen kullanıcı bilgileri ile giriş yapalım ama aşağıda stay loggid in kutucuğu var onu da işaretleyelim

Portswigger Lab: Brute-forcing a stay-logged-in cookie

kullanıcı hesabında dolaşarak istekleri burp suite ile yakaladım.

Portswigger Lab: Brute-forcing a stay-logged-in cookie

Bu işlemden sonra tarayıcıya eklenen stay-logged-in cookie’sini Burp içinde decoder panelinde inceledim. Çerezin Base64 ile encode edildiğini ve decode edildiğinde şu formata dönüştüğünü gördüm:

Portswigger Lab: Brute-forcing a stay-logged-in cookie

wiener ın yanındaki hash ise name that hash kullanarak hangi türde olduğunu öğrendim (name that hash a bu linkten uılaşabilirsiniz )

Portswigger Lab: Brute-forcing a stay-logged-in cookie

MD5 olduğunu CrackStation üzerinden kontrol ettiğimde hash’in aslında “peter” değerine çözüldüğünü öğrendim. Gerçek hayatta elbette şifreler bu kadar kolay kırılmıyor; fakat bu bir eğitim laboratuvarı olduğu için hash’in çözülmesi oldukça hızlı ve zahmetsiz oldu.

Portswigger Lab: Brute-forcing a stay-logged-in cookie

Böylece çerezin şu formatta oluşturulduğu netleşti:

base64(username + ":" + md5(password))

Kendi hesabımdan çıkış yaptıktan sonra, son yapılan GET /my-account isteğinde yer alan stay-logged-in parametresini seçip Burp Intruder’a gönderdim.

Portswigger Lab: Brute-forcing a stay-logged-in cookie

Stay logged in cookie’yi payload olarak belirledim ve PortSwigger’ın bize verdiği passwords wordlist’ini Intruder’a ekledim. İlk denemede sadece kendi parolamı payload olarak ekleyerek yapının doğru çalışıp çalışmadığını test ettim. Daha sonra Payload Processing kısmında çerezi yeniden oluşturmak için gerekli dönüşümleri sırayla ekledim:

Hash → MD5

Add prefix → wiener:

Encode → Base64

Bu aşamalar, Intruder’ın her bir payload için otomatik olarak doğru formattaki stay-logged-in cookie’sini üretmesini sağlıyor. Böylece brute‑force saldırısı tamamen otomatik şekilde ilerleyebiliyor.

(bu kısmı ilk kez öğrendim çok öğretici bir bölümdü 🥳)

Intruder saldırısını başlattım.

Portswigger Lab: Brute-forcing a stay-logged-in cookie

Saldırıyı başlattığımda, Burp oluşturduğu cookie ile carlos hesabına erişebildi. Bu, kurguladığım payload processing kurallarının doğru çalıştığını doğruluyordu.

gelen cookie yi aynı şekilde çözdüm

Portswigger Lab: Brute-forcing a stay-logged-in cookie
Portswigger Lab: Brute-forcing a stay-logged-in cookie

carlosun şifresinin harley olduğunu buldum ve hesaba giriş yaptım.

Portswigger Lab: Brute-forcing a stay-logged-in cookie

Sonuç olarak, hem mantığını anlaması kolay hem de uygulaması gerçekten eğlenceli ve yaratıcı bir labdı. PortSwigger’ın bu tarz “basit görünen ama mantığı oturtan” senaryoları, manuel test düşünme kasını ciddi anlamda geliştiriyor.

 
 
bottom of page