10.07.2015 Views

ASP Security by Soroush Dalili - Intelligent Exploit

ASP Security by Soroush Dalili - Intelligent Exploit

ASP Security by Soroush Dalili - Intelligent Exploit

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

www.victim.com/ebanking?file=../../web.xmlالبته نوع آسيب پذيري موجود در اين مثال را مي توان با آسيب پذيري اي كه در قسمت بعد مي آيدمشترك فرض كرد.‏.4.3.2 آسيب پذيري :Insecure Direct Object Reference1اين آسيب پذيري زماني اتفاق مي افتد كه برنامه نويس نقطه ارجاعبه يك شي پياده سازي شده2داخلي نظير يك فايل،‏ پوشه،‏ ركورد پايگاه داده و يا يك كليد را در پارامترهاي يك URL يا يك فرم،‏فاش مي كند.‏حال اگر كنترل دسترسي وجود نداشته باشد،‏ مهاجم با دستكاري اين نقطه ارجاع بهاشياء ديگر بدون اجازه دسترسي پيدا مي كند.‏به عنوان مثال در يك برنامه كاربردي بانكي معمولاست كه از شماره حساب به عنوان كليد اصلي استفاده كنند.‏ بنابراين،‏ براي برنامه نويس برنامه كاربرديراحتتر است كه از اين شماره مستقيما در برنامه خود استفاده كند.‏ حال اگر اين اتفاق افتاده باشد و بافرض اينكه برنامه نويس جلوي تمامي حملات ديگر نظيرSQL Injectionرا نيز گرفته باشد،‏ بازهمبرنامه كاربردي تحت وب در مقابل اينكه مهاجم به جاي شماره حساب خود،‏ شماره شخص ديگري راوارد كند،‏ نفوذپذير خواهد بود و با اين عمل مهاجم مي تواند اطلاعات اشخاص ديگر را ببيند و تغييردهد.‏ بسياري از برنامه هاي كاربردي به زبان هاي <strong>ASP</strong>و JSPاز اين آسيب پذيري رنج مي برند.‏ علتاصلي آنست كه اين آسيب پذيري در واقع يك آسيب پذيري منطقي است و برنامه نويس بايد در نقطهنقطه برنامه دسترسي افراد را براي كاري كه مي خواهند انجام بدهند كنترل كند.‏ در واقع با كوچكترينسهل انگاري از طرف برنامه نويس براي كنترل مجوز هاي دسترسي،‏ وقتي كه مرجع دسترسي به شي ازكاربر به عنوان ورودي پذيرفته مي شود،‏ اين آسيب پذيري به وجود مي آيد.‏جالب آنكه در اين نوعآسيب پذيري همه چيز كاملا روال عادي خود را دارد،‏ رشته هاي ارسالي از طرف كاربر محتويات مخرب1 Reference2 Key47

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!