Business Logic Flaws
Bug logic bisnis adalah kerentanan di mana aplikasi berperilaku tidak sesuai niat desainernya. Tidak bisa ditemukan oleh scanner otomatis — butuh pemahaman alur bisnis.
Price Manipulation
# Ubah harga produk di request
POST /cart/add
{"product_id": 1, "quantity": 1, "price": 0.01}
# Harga negatif
{"product_id": 1, "quantity": 1, "price": -100}
# Quantity negatif untuk dapat kredit
{"product_id": 1, "quantity": -1, "price": 100}
Coupon/Promo Abuse
# Apply multiple coupons
POST /apply-coupon {"code": "SAVE10"}
POST /apply-coupon {"code": "SAVE20"} ← apakah bisa stack?
# Coupon untuk kategori lain
# Coupon "elektronik" digunakan untuk fashion?
# Expired coupon masih berjalan?
Workflow Bypass
# Contoh: checkout flow yang harusnya berurutan
Step 1: /cart
Step 2: /shipping
Step 3: /payment
Step 4: /confirm
# Bypass langsung ke step 4 tanpa payment?
GET /confirm?order_id=12345 ← skip payment step!
Metodologi
- Pahami alur bisnis normal aplikasi
- Pertanyakan setiap asumsi: "bagaimana jika nilai ini negatif/nol/ekstrem?"
- Coba skip, reverse, atau repeat langkah-langkah
- Test batas: integer overflow, string sangat panjang, dll
// CEK PEMAHAMAN
Kenapa business logic flaws sulit ditemukan oleh automated scanner?
AKarena menghasilkan HTTP 500 error yang tidak terdeteksi
BScanner tidak bisa memahami konteks bisnis dan logika spesifik aplikasi
CHanya terjadi di bahasa pemrograman tertentu
DSemua data dienkripsi sehingga scanner tidak bisa membacanya