Ödeme sayfasında Business Logic

elcezeri
2 min readNov 30, 2023

--

Herkese merhaba !

Bir önceki hikaye:Kaynak kodu ile XSS’i nasıl buldum ?

İlgili yazıya buradan ulaşabilirsiniz .

https://medium.com/@el-cezeri/kaynak-kodu-ile-xssi-nas%C4%B1l-buldum-9cf2632f4717

Başlamadan önce kısaca Business Logic ve hataları nedir ?

“Business logic,” iş mantığı anlamına gelir ve bir yazılım uygulamasının iş süreçlerini ve kurallarını ifade eden temel mantığı ifade eder. Bu, bir işletmenin faaliyetlerini yönetmek için gerekli olan iş kurallarını, hesaplamalarını ve süreçlerini içerir.

İş mantığı hataları, bir yazılım uygulamasının temel işlevselliğindeki hataları ifade eder. Bu hatalar, genellikle uygulamanın iş süreçlerini, kurallarını veya hesaplamalarını yanlış veya beklenmedik bir şekilde etkileyen problemlerdir. İş mantığı hataları, uygulamanın doğru şekilde çalışmasını engelleyebilir veya iş süreçlerini yanlış yönlendirebilir. İşte bu tür hataların bazı örnekleri:

Hatalı Hesaplamalar

Kurallara Uymama

Veri Tutarsızlıkları

Bugbounter üzerinde bulunan programlara göz atıyordum ve bir tanesini seçerek politika vb. kuralları okumaya başladım . Kapsam tek domain üzerinde olduğu için kısa bir keşiften sonra uygulama çalışma mantığını anlamak amacıyla uygulamada vakit geçirmeye başladım .

Uygulamada bir satın alım işlemi gerçekleştirmeye başladım ve önce herhangi bir isteği yakalamadan ödeme sayfasına kadar ilerledim .

Burada şunu fark ettim bir satın alım gerçekleştirmede ilk olarak miktar USD olarak hesaplanmaktaydı .Örnek verecek olursak

1 Adet = 1 USD .

Burada bu fiyat hesaplandıktan sonra ödeme sayfasına geldiğimde ise fiyat TRY cinsinden gösterilmekteydi.

O halde bir şeyleri bozmaya başlayalım :)

Daha sonra tekrardan sipariş işlemini en baştan alarak bu sefer istekleri yakalamaya başladım . İlk olarak Adet kısmında oynama yaparak isteği durdurdum ve adeti bir seçtim istek içerisinde şöyle bir durum vardı

“currency”:USD ,”$”

Burada döviz olarak dolar cinsinden ilk ödeme işlemini hesaplıyor ve ödeme bölümünde TRY çevirimi yapılıyordu . Ödeme sayfasında ise

“conversion”:TRY ,”₺” durum bu şekildeydi .

Şu şekilde ilk miktar kısmında bir değişiklik yapmayı denedim

“currency”:USD ,”$” →“currency”:TRY ,”₺” ile değiştirdim .

zaten ödeme sayfasında “conversion”:TRY ,”₺” olacaktı.

Yani TRY yi TRY dönüştürtmeye çalıştım kısacası .

Ödeme sayfasında fiyat hala 1 USD olarak gözüküyordu. Satın almaya çalıştım ödeme hatası alıyorum . İçimden bir his sayfayı yenilemem gerektiğini söyledi ve sayfayı yenilediğimde 1USD → 1 TRY olarak gözüküyordu . Son bir kısım kaldı ve ödeme bilgilerini girdikten sonra başarılı bir şekilde 1TRY ile ödeme başarılı bir şekilde gerçekleştirildi .

Harika ! hızlıca raporu yazdım ve ekibe bildirdim çok kısa süre içerisinde bir düzeltme uyguladılar ve $$$ gibi bir miktar ile ödüllendirildim . Bu yazımızın sonuna geldik :) .

Burada iş mantığı kusurlarını bulmak için uygulamada ne kadar çok vakit geçirirseniz bir hata bulma olasılığınız artacaktır .

Görüşmek dileğiyle ❤

Öneri ve sorularınız için bana linkedln adresimden ulaşabilirsiniz .

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response