روشهاي نفوذگري در وب

مترجم: امير حسين شريفيمنبع : Hacking Exposed Web Application هدف اصلي اين مقاله شناساندن روشهاي نفوذگري در برنامه كاربردي تحت وب مي باشد كه مي تواند براي خوانندگان قابل لمس، قابل توسعه و همچنين به صورت عملي، انجام پذير باشد. همه اينها تجاربي مي باشد كه در ساليان دراز كسب شده است و به صورت حرفه اي تنظيم شده است . هدف از بيان اين مطالب شناساندن نقاط ضعف برنامه هاي كاربردي و سرورهاي وب به معماران و مهندسان نرم افزار و برنامه نويسان وي مي باشد كه با شناختن نقاط ضعف با تلاش در جه ت پيدا كردن آنها در رفع آن كوشش كنند . قدمهاي اوليه در اين روشها به شرح ذيل مي باشد :- شناسايي اوليه- نفوذ در سرورهاي وب- پيمايش برنامه كاربردي- حمله به مكانسيمهاي احراز هويت- حمله به روشهاي كسب مجوز - اجراي يك تحليل عملي- آلوده كردن داده هاي اتصالي- حمله به واسط مديريت- حمله به مشتري-مروري كوتاه بر حملات DoS ما در اين سلسله مقالات قصد داريم اينگونه حملات را ، توضيحي مختصر ، علمي و عملي دهيمتا يك راهنماي جامع و كوچكي براي تمام مديران شبكه و مهندسان نرم افزار و برنامه نويسانوب باشد تا بتوانند يك برنامه كاربردي محك م و استوار بنا كنند تا دست مريض احوالان از آنموصون باشد.شناسايي اوليهاولين قدم در اين روش ، جمع آوري اطلاعات از هدف مي باشد و در اين بخش روشهاي جمعآوري اينگونه اطلاعات را بيان مي كنيم . همچنين به تمام جوانب و لايه هاي برنامه كاربردي وسرور وب پي خواهيم برد. در اين قسمت به سوالات زير پاسخ داده مي شود:براي اتصال با برنامه كاربردي وب از چه مرورگرهايي مي توان استفاده كرد؟آيا برنامه خاصي نياز مي باشد تا بتوان با برنامه ارتباط برقرار كرد؟از چه پروتكلي براي انتقال داده استفاده مي شود؟از طريق چه پورتهايي؟چه تعداد سرور در حال حاضر وجود دارد؟از چه مدلي براي طراحي سرورها استفاده شده است؟آيا براي بعضي از عملكردهاي سايت ، از سرورهاي خارجي كمك گرفته شده است؟در اين بخش با ابزارهاي شناسايي و تكنيك هاي آن آشنا مي شويم.حمله به سرورهاي وبتعداد بي شماري از سور ا خهاي امنيتي كه در سرورهاي وب وجود دارد و يا به وجود مي آيدامروزه نقل و نبات مجالس هكر ها و بچه هكرها شده است . معمولا اولين قدمي كه يك هكر برايحمله به يك سايت انجام مي دهد چك كردن و پيدا كردن سوراخهاي امنيتي سرور سايت ميباشد. اگر با يك مدير تنبل سرو كار داريد ، يك سرور وب را در اختيار خواهيد داشت !! در اينفصل به روشهاي نفوذ در سرورهاي وب و معرفي ابزارهاي پويش مي پردازيم كه همه اينحملات از طريق پورت 80 انجام مي شود.پيمايش برنامه كاربردياگر در مرحله قبل به هيچ سوراخ و ضعف امنيتي برخورد نكرده ايد ، آف رين به طراحان برنامهكاربردي و سرور وب ! (يا بهتر است بگوييم كه چه خوش شانس بوده اند ! ). حال تمام توجهخود را روي مولفه هاي به كار رفته در خود برنامه كاربردي وب جلب كنيد . – چند دسته ازامكانات روي سرور وب اجرا شده است؟ برنامه كاربردي را برررسي كنيد تا پي ببريد كه از چهتكنولوژيهايي براي طراحي برنامه كاربردي وب استفاده شده است. ساختمان دايركتوريها و فايلهاي سايت ، هر محتواي ، احراز هويت و انواع احراز هويتي كه استفاده مي كند، پيوندهاي خارجي (در صورت وجود ) ،بانك ذخيره كننده انتهايي و ... . اين مرحله يكي از مهمترين مراحلي مي باشد كه شما انجام ميدهيد و اگر اين مرحله را به خوبي انجام دهيد احتمال پيروز شدن شما به حداكثر مي رسد. حمله به مكانسيمهاي احراز هويت اگر در مرحله قبل هر محتواي احراز هويتي را كه كشف كرد ه ايد بايد به دقت مورد تحليل و بررسي قرار دهيد . بايد گفت حساس ترين داده هاي سايت در اين قسمت توليد و محافظت مي شود.براي اينكه به قدرت مولفه هاي احراز هويت پي ببريد راههايي وجود دار د . از جمله : حملات كلمات رمز قابل حدس ، دزدي نشانه ها از كوكيها و ... . در اين قسمت اين مبحث را به صورت جزيي تر بيان مي كنيم.حمله به رويه هاي كسب مجوز وقتي يك كاربر احراز هويت شد، قدم بعدي ، حملات دسترسي به فايلها و اشياء مي باشد اين موضوع از طرق مختلفي انجام مي شود . از طريق تكنيكهاي پيمايش دايركتوريها ، تغيير قانون كاربر ( به عنوان مثال به وسيله تغيير دادن داده هاي فرم ها و يا كوكيها ) ، درخواست اشياي مخفي به وسيله نامهاي قابل حدس، حملات جستجوهاي قانوني ، تونل زدن از طريق دستورات و ... . SQL ويژه به سرور همچنين در بخشهايي از اين مقالات درباره مهمترين جنبه هاي صدور مجوزها ، نگهداشتن وضعيت ، مفصل بحث خواهيم كرد.اجراي يك تحليل عملييكي ديگر از مراحل بحراني در اين روشها ، انجام يك تجزيه و تحليل واقعي روي توابع منحصر به فرد برنامه هاي كاربردي مي باشد . در اصل يك تحليل عملي ، شناسايي هر مولفه از توابع برنامه كاربردي مي باشد . براي مثال تنظيم وروديها ، تصديق ، تنظيم پيگرديها و تلاش براي تزريق داده هاي غلط براي هر ورودي . فرايند تلاش براي تزريق داده هاي اشتباه براي تست كردن مركز امنيت برنامه كاربردي مي باشد و گهگاهي به آن حملات صحت ورودي ها گفته مي شود.آلوده كردن اتصالات داده ايبعضي از ويران كننده ترين حملات روي برنامه هاي كاربردي وب ، روي پايگاه داده انتهايي انجام مي شود. همه افراد معمولا علاقمند مي باشند كه داده هاي مشتري هاي خود را به صورت ذخيره شده داشته باشند . براي اين منظور راههاي بي شمار زيادي براي اتصال برنامه هاي كاربردي وب و بانكهاي اطلاعاتي وجود دارد . هميشه توليد كنندگان برنامه هاي كاربردي بيشتر روي كارآمدي اينگونه برنامه ها تكيه مي كنند تا روي امنيت آن ! ما در اين بخش روي استخراج داده ها از طريق برنامه كاربردي و همچنين به دست گرفتن كنترل سيستم عامل از طريق استفاده از دستورات SQL صحبت خواهيم كرد. ! حمله به واسط مديريتتا الان هيچ بحثي درباره سرويسهاي ضروري كه در كنار برنامه هاي كاربردي وب ، به كار مي روند ، حرفي به ميان نيامده است . يكي از اين سرويسهاي ضروري ، مديريت راه دور ٥ مي باشد. اين امر به مديران سايتها اين امكان را مي دهد كه هنگاميكه داده و يا يك پيكربندي نياز به تغيير و يا به روز رساني داشته باشد ، بتوانند به راحتي از راه دور اين كار را انجام دهند. پس هميشه يك وسيله و يا يك پورتي براي مديران شبكه و سايتها موجود است تا به وسيله آن بتوانند يك ارتباط راه دور با سرور ، محتواها و يا پايگاه داده انتهايي داشته باشند. در اين قسمت نيز كمي درباره واسط ارتباطي مديريت سرور وب بحث خواهيم كرد.حمله به مشتريدر خيلي از مواقع پيش مي آيد كه عليه معماري برنامه هاي كاربردي وب حملاتي انجام شده است. البته اين اشتباهي است كه م عمولا قابل برآورد نمي باشد و از همين جا بود كه حملات ويران كننده اي عليه كاربران برنامه هاي كاربردي نيز اتفاق افتاد . از جمله اين حملات اسكريپتهاي تقلبي سايت(Cross-Site scripting) به اختصار (CSS يا XSS ) مي باشد كه حملات شبيه آن عليه سايتهاي مشهور Hotmail و Citigroup ، E*Trade ، eBay اتفاق افتاده است و خيلي راحت مي تواند توسط يك سايت نا اهل پياده سازي شود و به ميليونها نفر فرستاده شود و يا در گروهاي خبري مشهور ، سايتهاي چت و .... به سرعت منتشر شو د . اگر به نظر شما اين موضوع مي تواند خيلي ناجور باشد اين فصل را حتما مطالعه كنيد.مروري كوتاه بر حملات DOSخيلي بايد خوشبين و پر مدعا باشيم كه يك نفوذگر نتواند از طريق اين روشهاي نفوذگري به برنامه كاربردي ما حمله كند . اما يك نوع حمله ديگر مي باشد كه چاره اي براي آن انديشيده نشده است . و آن عدم پذيرش سرويس ٨ مي باشد و اين يك حقيقت تلخ ي مي باشد كه دنياي اينترنت با آن مواجه مي باشد . همانطور كه از نامش پيداست ، حملات DOS در اصل باعث رد كردن درخواست هاي مشروع كاربران برنامه كاربردي مي باشد . البته اين حمله به صورتهاي مختلفي انجام مي شود ، از جمله تحميل يك سيلي از ترافيك بيخود به سايت، كه با عث مي شود درخواستهاي مشروع كاربر نيز پذيرفته نشود .پایان