top of page

Lab: Flawed enforcement of business rules

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

Lab: Flawed enforcement of business rules

Lab: Flawed enforcement of business rules

Lab: Flawed enforcement of business rules Seviye: APPRENTICE Bu labda problem teknik bir exploitten çok, satın alma akışında yanlış kurgulanmış bir iş kuralı (business rule) . Amaç, bu mantık hatasını kullanarak Lightweight l33t leather jacket ürününü satın almak.

Lab bize giriş için hazır bir hesap da veriyor: wiener : peter

Önce siteye kendi hesabımla giriş yaptım. Bu aşamada özel bir şey yapmadım; amacım uygulamanın satın alma ve indirim mantığını anlamaktı.

Lab: Flawed enforcement of business rules

Kısa bir incelemeden sonra şunu fark ettim:

- Giriş yapan yeni kullanıcılara otomatik olarak NEWCUST5 adlı bir kupon veriliyor

Lab: Flawed enforcement of business rules

- Sayfanın en altından newsletter’a kayıt olunca ikinci bir kupon geliyor: SIGNUP30 .

Lab: Flawed enforcement of business rules
Lab: Flawed enforcement of business rules

Burada kritik nokta şu: Sistem birden fazla kuponu aynı siparişte kabul ediyor.

Bu, başlı başına bir açık değil ama test edilmesi gereken bir alan.

Deri ceketi sepetime ekledim ve checkout’a geçtim. Kuponları normal şekilde uyguladım.

Lab: Flawed enforcement of business rules

- İndirim yapıldı

- Ama toplam tutar hâlâ yaklaşık 930 dolar civarındaydı

Yani sistem, kuponları birer kez kullanınca düzgün çalışıyor gibi görünüyordu.

Bu noktada asıl soru şuydu:

Bu kuponların kaç kez kullanılabileceğini sistem gerçekten doğru takip ediyor mu?”

Kuponları tekrar denemeye başladım.

- Aynı kuponu arka arkaya girdiğimde sistem hata verdi “Kupon zaten uygulanmış”

Lab: Flawed enforcement of business rules

- Bu, yüzeysel olarak doğru bir kontrol gibi duruyor.

Ama burada önemli bir detay var: Sistem yalnızca son girilen kupona bakıyor.

Bunu fark ettikten sonra kuponları sırayla değiştirerek denedim:

Lab: Flawed enforcement of business rules

Ve bu noktada şunu gördüm: Sistem, toplam kupon kullanımını değil , sadece aynı kuponun arka arkaya kullanılmasını kontrol ediyor.

Yani:

- “Bu kupon daha önce kullanıldı mı?”

- “Bu kupon bir öncekiyle aynı mı?”

İş kuralı yanlış tanımlanmış.

Bu mantık hatasını kullanarak kuponları dönüşümlü şekilde uygulamaya devam ettim.

Her turda:

- Ürün fiyatı biraz daha düştü

- Sistem bunu meşru bir işlem gibi kabul etti

Sonunda:

- Toplam tutarı 0 dolara kadar düşürdüm

- Siparişi tamamladım

- Lab başarıyla çözüldü

Lab: Flawed enforcement of business rules

Bu lab bana şunu net gösterdi:

- Sistemlerde “küçük” görünen iş kuralları çok kritik

- Kupon, indirim, kampanya gibi alanlar genelde yeterince test edilmiyor

- Teknik olarak her şey doğru görünse bile, mantık yanlışsa sistem sömürülüyor

Gerçek hayatta bu açık:

- Sınırsız indirim

- Finansal kayıp

- Kampanya sisteminin tamamen çökmesi

anlamına gelir. Bir sonraki labta görüşmek üzere🌸🌸

 
 
bottom of page