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.