در این متن تلاش شده تا متدهای مختلف تست
نفوذ به سایتها و آشنایی با روشهای مختلف حمله و تشخیص محلهای آسیب پذیر سایت و نیز رفع مشکلات این نوع باگها را مورد بررسی قرار دهیم، از این رو تمامی مطالب گفته شده جنبه دانشی داشته و بیشتر برای بالا بردن سطح آگاهی دوست داران این عرصه فراهم شده است.
در کل امنیت دارای سه شاخص اصلی می باشد:
1. محرمانگی (Confidentiality) اطلاعات فقط باید برای افراد مربوطه در دسترس باشند.
2. صحت یا تمامیت (Integrity) اطلاعات باید سالم و بدون دستکاری باشند.
3. دسترسی پذیری (Availability) اطلاعات در زمان مورد نیاز برای افراد مورد نیاز باید در دسترس باشد.
علاوه بر این مثلث، مثلث دیگری نیز وجود دارد که مورد علاقه هکرهاست.
1. افشاگری (Disclosure)
2. تخریب (Destruction)
3. انکار (Denial)
اگر دقت کنید این مثلث کاملا مخالف با مثلث امنیت است.
این باگ بسیار پر خطر می باشد. چراکه با دسترسی به آن در نهایت می تواند به تنهایی هر سه راس مثلث امنیت را شکست دهد. محل آزمون این نوع باگ فرم ها، آدرس بار(بستگی به نوع ارسال پارامترها بصورت Post وGet کوکیها، هدر View State ، Hidden Field ،HTML)می باشد همچنین این باگ می تواند با Buffer Overflow و XSS و ... نیز ادغام شوند.
پیش از عمل SQL Injection می بایست با انواع خطاهایی که ممکن است در حین کار با آنها برخورد کنید، آشنا شوید. یک Web Application می تواند در مواجه با مشکلات ایجاد شده Error هایی را به دو شکل کلی ایجاد نماید.
• نوع اول Error، خطایی است که به وسیله Web Server و در اثر یک مشکل تولید می شود. معمولاً SQL Injection هایی که با استفاده از Syntax اشتباه Inject می شوند مثل نبستن Quotation ها (,) که باعث می شوند Application این نوع از خطاها را برگرداند.
• نوع دوم Error خطایی است که به وسیله Application Code ها ایجاد می شود. این نوع از خطاها به دلیل اشتباهات برنامه نویسی Application ها تولید می شوند.
به عنوان مثال اگر یک Application باشد که دارای یک صفحه به نام News.Aspباشد. این صفحه وظیفه دارد که یک Id به عنوان ورودی دریافت نماید و بعد از دریافت مقدار Id اطلاعات مربوط به Id را از Database دریافت نموده و سپس جزئیات خبر را در صفحه نمایش می دهد.
حال اگر Application فقط مقدار Id ورودی را چک کند که مقداری معتبر و Validباشد و هیچ بررسی دیگری انجام ندهد هکر می تواند از این اشتباه برنامه نویسی استفاده کند و یک Id را به عنوان ورودی اعلام نماید که هیچ ردیفی در جدول News برای آن وجود نداشته باشد و در نتیجه یک Record خالی برگشت داده می شود و هنگامی که Application تلاش می کند که اطلاعات Record بازگشتی را بررسی نماید، یک Error تولید می شود. یک هکر در ابتدا چندین Invalid Request به سمت Application ارسالی می نماید تا متوجه شود که Application چطور با Errorها برخورد می کند.
یکی از مهمترین و شاید خطرناکترین آسیب پذیری های امنیتی موجود در وب سایت ها آسیب پذیری مربوط به آپلود فایل های مخرب به سرور است. با این کار نفوذگر به راحتی می تواند با آپلود فایل های مخرب کنترل سرور را نیز به دست بگیرد و گاه خطرات جبران ناپذیری را به ادمین سایت و یا سرور وارد نماید.
این نوع آسیب پذیری که به RFU یا Remote File Upload نیز شهرت دارد معمولا در آپلود سنترهای سایت به وجود می آید. مثلا در بخش مدیریتی سایت ادمین سایت قادر است فایلهایی را بر روی سایت ارسال نماید حال اگر پورت سایت به دست یک نفوذگر برسد به راحتی می تواند یک شل را آپلود و از آن بهره برداری نماید.
در این صورت است اگر فیلترگذاری مناسب برای فایلهای ارسالی اعمال نشده باشد میتواند سناریو هک سایت را کامل کند.
(Distributed Denial Of Service (DDOS
در یک تهاجم از نوع ، DDoS یک مهاجم ممکن است از کامپیوتر شما برای تهاجم بر علیه کامپیوتر دیگری استفاده نماید .
مهاجمان با استفاده از نقاط آسیب پذیر و یا ضعف امنیتی موجود بر روی سیستم شما می توانند کنترل کامپیوتر شما را بدست گرفته و در ادامه از آن به منظور انجام عملیات مخرب خود استفاده نمایند. ارسال حجم بسیار بالای داده از طریق کامپیوتر شما برای یک وب سایت و یا ارسال نامه های الکترونیکی ناخواسته برای آدرس های Email خاصی، نمونه هائی از همکاری کامپیوتر شما در بروز یک تهاجم DDOS می باشد . حملات فوق، "توزیع شده" می باشند، چراکه مهاجم از چندین کامپیوتر به منظور اجرای یک تهاجم DoS استفاده می نماید