Flowchart · IDOR
Đổi id sang đơn của người khác: chỗ nào chặn?
Chặn IDOR bằng điều kiện sở hữu trong query
User A gửi GET /api/orders/1044 là đơn của B; [Authorize] chỉ xác minh token, code thiếu lọc chủ sở hữu trả 200 kèm đơn của B, còn query có điều kiện OwnerId == userId không thấy dòng nào và trả 404.
KHÔNG
CÓ
CÓ · CODE LỖI
CÓ
KHÔNG
Request của A
GET /api/orders/1044
Token hợp lệ?
[Authorize]
401
Unauthorized
[Authorize] chỉ trả lời
“anh là ai”
Find(id), không lọc chủ
→ 200 · đơn của B (IDOR)
Query kèm điều kiện sở hữu
o.Id == id && o.OwnerId == userId
Có dòng nào?
200 OK
đơn của chính A
404 NotFound
không lộ đơn của B có tồn tại
CHÚ GIẢI
Bước xử lý
Rẽ nhánh
Chỗ ràng buộc quyền sở hữu
Code thiếu kiểm tra: lỗi IDOR
© tiennhm