یک API ممکن است ظاهراً این باشد:
GET /api_v1/messages
اما Backend ممکن است پارامتر دیگری هم قبول کند:
GET /api_v1/messages?user_id=<UUID>
حالا سؤال مهم این است:
این پارامتر واقعاً توسط Server Authorization می شود یا فقط برای انتخاب Object استفاده میشود؟
این یکی از جاهایی است که Endpoint Discovery و Parameter Discovery اهمیت پیدا می کنند.
برای همین در تست های واقعی، فقط پارامترهایی که در UI میبینی را بررسی نکن.
به دنبال اینها هم باش:
پارامترهای موجود در Requestهای قدیمی
پارامترهای API
Hidden Parameters
پارامترهای مربوط به User/Object
پارامترهایی که در Frontend استفاده میشوند ولی در UI دیده نمیشوند
حتی ابزارهایی مثل Arjun و Param Miner دقیقاً برای پیدا کردن Hidden Parameters میتوانند در این مرحله مفید باشند.
اما ابزار فقط Candidate پیدا میکند.
تشخیص Vulnerability همچنان با تحلیل رفتار Authorization انجام میشود.
@TryHackBox
#تست_نفوذ #امنیت_وب #امنیت_سایبری