Kembali ke indeks

LAB PASS

Broken Object Level Authorization - Shop - Return Order

Broken Object Level Authorization — Shop — Return Order

CWE-639: Authorization Bypass Through User-Controlled Key (tested, not vulnerable) · OWASP API1:2023 - Broken Object Level Authorization (negative test)

Kerentanan

[PASS] Broken Object Level Authorization - Shop - Return Order

Deskripsi

Diuji apakah aksi retur pesanan (return_order) rentan BOLA dengan mencoba meretur pesanan milik pengguna lain.

Dampak

Tidak ada dampak: server menegakkan otorisasi kepemilikan dan menolak permintaan (403).

CWE

CWE-639: Authorization Bypass Through User-Controlled Key (diuji, tidak rentan)

OWASP

API1:2023 - Broken Object Level Authorization (diuji negatif)

Skenario

Eksploitasi: return_order?order_id=1 (bukan milik attacker) -> 403. PASS (kontrol berjalan, CIA tidak terlanggar).

Endpoint

POST http://127.0.0.1:8888/workshop/api/shop/orders/return_order?order_id={id}

Fitur terdampak

Retur Pesanan (crapi-workshop)

Rekomendasi perbaikan

Pertahankan pemeriksaan kepemilikan pada aksi retur (kondisi saat ini sudah benar).

Bukti konsep

  1. (Screenshot 1) EKSPLOITASI: POST return_order?order_id=1 (order milik user lain) dengan token attacker -> 403 "You are not allowed to access this resource!" (kontrol berjalan).

Rekaman lengkap

LAB Semua target adalah sistem lab. Tidak ada satu pun yang merupakan pekerjaan klien. Bukti ditampilkan apa adanya; secret dihitamkan.

Hasil: retur pesanan pengguna lain ditolak (PASS)

Hasil (PASS): upaya meretur pesanan pengguna lain (order_id=1) ditolak dengan response 403. Otorisasi objek berjalan pada pengujian ini; tidak ada dampak yang teramati pada kerahasiaan, integritas, atau ketersediaan.

HTTP request
POST /workshop/api/shop/orders/return_order?order_id=1 HTTP/1.1
Host: 127.0.0.1:8888
Authorization: Bearer [REDACTED-LAB-TOKEN]
HTTP response
HTTP/1.1 403 Forbidden
Server: openresty/1.27.1.2
Content-Type: application/json
Content-Length: 58

{
  "message": "You are not allowed to access this resource!"
}
Hasil: retur pesanan pengguna lain ditolak (PASS)

← Kasus sebelumnya: Broken Function Level Authorization - Workshop - Management Users Endpoint Kasus berikutnya: Broken Object Level Authorization - Vehicle - Location Tracking →