شرح ثغرة Insecure Direct Object Reference) IDOR)
* السلام عليكم ورحمة الله وبركاته *
------------------
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد :-
--------------------
1337r00t | BlackFoxs Inc
# مقدمة :-
ثغرة IDOR تعتبر من أخطر الثغرات ولها نصيب في OWASP Top 10 في سنة 2013 وتأخذ رقم CWE-639 وأصابت الكثير من المواقع العالمية مثل تويتر و فيسبوك و أوبر الخ.. .
---------------------
# ماهي IDOR :-
ثغرة IDOR تعتبر (Authorization Bug) Web Parameter Tampering وهي تحدث عندما يضع المبرمج متغيرا (user-input) والمستخدم يستطيع تغيير قيمة هذا المتغير, وهو غير مصرح بتغييره, ولهذا تم تسميتها (Insecure Direct Object References) .
لمن لم يفهم ماذا اعني بكلمة "متغير" هو البراميترات مثلا لاللحصر عندما تشاهد موقع بهذا الشكل : http://evil.com/test?name=1337r00t
الname هو المتغير و 1337r00t هو قيمة المتغير .
--------------------
# شرح عملي :-
تنبيه : هذا مجرد مثال وغير محصور .
رأيت موقع بيع هواتف وأحببت انت ان تشتري آيفون لكن قيمة الآيفون 5000 ريال وانت لاتمتلك هذا المبلغ, لكن عندما طلبت شراء الآيفون لاحظت ان رابط الطلب أصبح :-
https://phonemarket.com/buy/iphone?price=5000
قمت انت بتغيير قيمة متغير price الى 10 فتم وضع قيمة الآيفون 10 ريالات في سلة المشتريات وشريته فعليا بهذه القيمة ! هنا حدثت ثغرة IDOR .
---------------
# التجنب عن هذه الثغرة :-
يجب عليك عزيزي المبرمج ان لاتعطي المستخدم الأمكانية على تغيير البيانات الحساسة او اللذي من الغير طبيعي تغييرها .
-----------------
والسلام خير ختام
1337r00t | BlackFoxs Inc
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !