Portswigger Lab: Brute-forcing a stay-logged-in cookie
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

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

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:

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 )

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.

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.

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.

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


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

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.







