← SECURITY LAB / Web Security RISK: HIGH

Modern REST API Broken Object Level Authorization (BOLA/IDOR) Analizi

ENVIRONMENT: Dockerized Microservice Lab (PHP 8.4 Phalcon + PostgreSQL)
VISIBILITY: Public
TOOLS: Postman OWASP ZAP Burp Suite Pro K6

01 // Objective

Finansal ve kişisel veri barındıran API uç noktalarında yetkilendirme eksikliklerini ve IDOR açıklarını tespit edip rol-tabanlı (RBAC/ABAC) mimari ile gidermek.

02 // Methodology & Execution Steps

1. Yetkilendirilmiş A kullanıcısı oturumu açıldıktan sonra B kullanıcısına ait nesne ID parametreleri değiştirilerek istekler gönderildi. 2. UUID vs Auto-increment kimliklerin güvenlik üzerindeki etkileri simüle edildi. 3. Repository katmanında oturum sahibi doğrulaması entegre edilerek açıklığın kapanması test edildi.

03 // Findings & Attack Vector Verification

API uç noktalarında authentication (kimlik doğrulama) bulunsa bile nesne seviyesinde authorization (yetkilendirme) eksikliği kritik veri sızıntılarına yol açmaktadır. Sadece UUID kullanmak açık kapıyı gizler ama güvenliği sağlamaz.

04 // Remediation & Layered Defense

Her veri tabanı sorgusunda `WHERE id = :id AND user_id = :current_user_id` prensibi zorunlu tutulmalıdır. Policy-based veya Attribute-Based Access Control (ABAC) middleware kullanılmalıdır.

05 // Lessons Learned & Engineering Takeaways

Güvenlik kontrolleri UI veya API gateway seviyesinde bırakılmamalı, veri erişim katmanında (Repository) kesin olarak uygulanmalıdır.