Skenario 13 / 19PASS

Broken Object Level Authorization - Shop - Return Order

Lingkungan lab — bukan sistem produksi

Tangkapan layar dan trafik mentah tidak diterjemahkan; teks di dalamnya mungkin menggunakan bahasa lain.

crAPI/Evidence/[PASS] Broken Object Level Authorization - Shop - Return Order

01 — Catatan

Catatan pengujian

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).
Lihat catatan sumber (bahasa Indonesia)
Vulnerability: [PASS] Broken Object Level Authorization - Shop - Return Order

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

Impact:
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)

Scenario:
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}

Affected Feature:
Retur Pesanan (crapi-workshop)

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

POC:
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).

02 — Tangkapan layar

Tangkapan layar (1)

01 / 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.

03 — Request dan response

Rekaman HTTP

Sebagian nilai kredensial disamarkan pada tampilan HTML publik ini. Penyamaran ini tidak menjamin bahwa seluruh data sensitif atau berkas tertaut sudah disamarkan.

REKAMAN 01 / 1Hasil: retur pesanan pengguna lain ditolak (PASS)
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 (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.