آسیب پذیری های امنیتی

آسیب پذیری Insecure Direct Object References

Security-Vulnerabilities
شرح آسیب پذیری:

آسیب پذیری Insecure Direct Object References وقتی اتفاق می افتد که برنامه با استفاده از ورودی کاربر به صورت مستقیم و بدون تغییر به Object ها دسترسی داشته باشد. بدین صورت User می تواند Authorization را Bypass نموده و به صورت مستقیم به رکورد های بانک اطلاعاتی و فایل ها دسترسی داشته باشد. این مورد معمولا با دستکاری مستقیم در Value پارامتری که به صورت مستقیم به Object اشاره دارد صورت می پذیرد. به عنوان مثال دیگر از این آسیب پذیری می توان به مشاهده فاکتور کاربران دیگر در یک سیستم فروشگاهی با تغییر مقدار پارامتر مربوط به Invoiced نمود. این مورد در URL زیر مشهود است.

http://foo.bar/somepage?invoice=65427

 

چگونه این آسیب پذیری را رفع کنیم ؟

1) از اشاره مستقیم به Object ها خودداری گردد. می توان به جای اشاره مستقیم از نام Object و یا عبارتی که قابل حدس نباشد استفاده نمود.
2) مقدار Value پارامتر اشاره کننده باید به صورت Hash شده در آید. مقدار Hash در بانک اطلاعاتی نگه داری شود و در هر بار اشاره، Hash در بانک اطلاعاتی به صورت غیر مستقیم به Object اشاره می نماید.
3) Bind نمودن Object های هر کاربر به Session او و رمز نمودن مقدار Session به نحوی که برای عموم قابل بازگشایی نباشد.

author-avatar

درباره میلاد خوشدل

کارشناسی رشته مهندسی نرم افزار و کارشناسی ارشد رشته ی معماری کامپیوتر 8 سال تجربه کاری در زمینه امنیت و تست نفوذ و در حال حاضر نیز به عنوان محقق امنیتی در یک شرکت معتبر داخلی مشغول به کار هستم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هجده + شانزده =