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
- (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!"
}
← Kasus sebelumnya: Broken Function Level Authorization - Workshop - Management Users Endpoint Kasus berikutnya: Broken Object Level Authorization - Vehicle - Location Tracking →