انواع حملات سایت یا حملات برنامه‌های کاربردی وب بر اساس استانداردهای بین‌المللی

استاندارد حملات سایت


در این مقاله قصد داریم تا شما را با استانداردی برای انجام روند حملات سایت آشنا نماییم و در ادامه کار، این استاندارد روش کاری می‌شود تا بتوانید بر اساس یک متد و روش خاص مراحل یادگیری هک سایت، امنیت سایت و تست نفوذ سایت‌ها را یاد بگیرید. وب‌سایت شکاف با استناد به این متدولوژی و استاندارد بین‌المللی آن، کلیه آموزش‌های خود را از ابتدا تا انتهای با آرمانی برای متخصص شدن شما در برقراری امنیت سایت خودتان همراهی خواهد کرد.

در مقاله قبلی که با عنوان -امنیت سایت یا تست نفوذ در برنامه‌های کاربردی وب، با استفاده از استانداردهای بین‌المللی- معرفی‌شده بود، با استانداردی آشنا شدیم که سازمان ایجادکننده آن OWASP است.

[caption id="attachment_613" align="aligncenter" width="300"]دسته بندی حملات به وب سایت انواع حملات سایت[/caption]

ده آسیب‌پذیری مهم وب‌سایت‌ها


سازمان OWASP با تکیه‌بر بررسی آخرین تهدیدات، خطرات و شکاف‌های امنیتی در وب‌سایت‌ها و برنامه‌های کاربردی وب، یک پروژه بانام OWASP Top Ten دارد که معروف به ده آسیب‌پذیری مهم و حیاتی وب‌سایت‌ها است. پروژه OWASP Top Ten به‌صورت کامل و جامع کلیه‌ی آسیب‌پذیری‌ها و شکاف‌های امنیتی وب‌سایت‌ها را کشف نموده و آن‌ها را در یک دسته‌بندی ده‌تایی جای داده است.

سازمان OWASP هرچند سال یک‌بار فهرستی از شاخص‌ترین آسیب‌پذیری‌ها و شکاف‌های امنیتی در برنامه‌های کاربردی وب و سرویس‌دهنده‌های تحت وب را از طریق مستندات خود منتشر می‌نماید که این لیست از مستندات مبنا و پایه‌ای برای امنیت در برنامه‌های کاربردی تحت وب بشمار می‌رود.

پروژه OWASP Top Ten 2013 آخرین نسخه‌ی منتشرشده از این پروژه می‌باشد که بروزترین لیست مستند در آن قرارگرفته است. در زیر هرکدام از این مستندات و چک‌لیست‌ها را که سرلوحه کار وب‌سایت شکاف است بررسی می‌نماییم. این دسته‌بندی به انواع مختلف حملات وب‌سایت اشاره می‌نمایند و ما در ادامه راه خود در وب‌سایت شکاف، به آموزش آن‌ها خواهیم پرداخت.

[caption id="attachment_550" align="aligncenter" width="256"]انواه حملات به وب سایت ها ده آسیب پذیری رایج حملات سایت[/caption]

انواع حملات سایت


حملات تزریق یا Injection


آسیب‌پذیری تزریق یا به‌اصطلاح حملات تزریق به روش‌های مختلفی صورت می‌گیرد. این حملات هنگامی رخ می‌دهند که داده‌های نامعتبر به به‌عنوان دستورات و Query ها برای یک مفسر یا کامپایلر ارسال شوند. این داده‌های نامعتبر ممکن است بتوانند مفسر یا کامپایلر را برای اجرای دستورات ناخواسته و تصادفی هدایت نمایند. در این‌گونه از آسیب‌پذیری‌ها، هکر قادر است مفسر یا کامپایلر را به‌اشتباه انداخته و دستورات مخرب و ناخواسته را اجرا نماید و همچنین بتواند اطلاعات حساس و حیاتی را بدون مجوز و بدون احراز هویت، مشاهده کرده و یا تغییراتی را در آن‌ها ایجاد نماید. حملات تزریق به صورت‌های مختلفی انجام می‌شود که می‌توان به موارد زیر اشاره نمود.

حملات SQL Injection


حملات HTML Injection


حملات LDAP Injection


حملات OS Command Injection


حملات PHP Code Injection


حملات XML/XPATH Injection


حملات Server Side Includes(SSI) Injection


حملات Mail Header Injection(SMTP)


حملات iFrame Injection


 

حملات نقض احراز هویت و مدیریت نشست یا Broken Authentication and Session Management


این آسیب‌پذیری زمانی رخ می‌دهد که تابع‌ها در برنامه‌های کاربردی وب، مجوزها، دسترسی‌ها و نشست‌ها را به‌درستی پیکربندی نکرده باشند. این پیکربندی نادرست که توسط طراحان ایجاد می‌گردد، باعث می‌شود، هکرها بتوانند به اطلاعات حساس و حیاتی همانند پسوردها، کلیدهای رمزنگاری و توکن های نشست در جهت سوءاستفاده و جعل هویت استفاده نمایند. در دسته‌بندی این نوع حملات، روش‌های مختلفی وجود دارند که می‌توان به موارد زیر اشاره نمود.

حملات CAPTCHA Bypassing


حملات Forgotten Function


حملات Insecure Login Forms


حملات Logout Management


حملات Password Attacks


حملات Weak Passwords


حملات Administrative Portals


حملات Cookies


حملات Session


 

حملات اسکریپت نویسی فرا وبگاهی یا Cross-Site Scripting(XSS)


این نوع حملات سایت زمانی رخ می‌دهد که برنامه کاربردی وب، داده‌های ناامن را بدون هیچ‌گونه اعتبارسنجی برای مرورگر وب ارسال می‌نماید. هکرها با استفاده از این نوع حملات سعی می‌نمایند که با اجرای اسکریپت‌های مخرب بر روی مرورگر هدف یا قربانی، نشست‌ها را به سرقت برده و یا با تغییر مسیر هدف به وب‌سایت‌های مخرب به دستگاه‌ها نفوذ کرده و آن‌ها را اکسپلویت نمایند. در دسته‌بندی این نوع از حملات می‌توان به موارد زیر اشاره نمود.

+حملات Cross-Site Scripting(XSS) – Reflected


حملات Reflected (GET)


حملات Reflected (POST)


حملات Reflected (JSON)


حملات Reflected (AJAX/JSON)


حملات Reflected (AJAX/XML)


حملات Reflected (Back Button)


حملات Reflected (Custom Header)


حملات Reflected (Eval)


حملات Reflected (HREF)


حملات Reflected (Login Form)


حملات Reflected (phpMyAdmin)


حملات Reflected (PHP_SELF)


حملات Reflected (Referer)


حملات Reflected (User-Agent)


حملات Cross-Site Scripting(XSS) – Stored


+حملات Cross-Site Scripting(XSS) – Stored


حملات Stored (Blog)


حملات Stored (Change Secret)


حملات Stored (Cookies)


حملات Stored (SQLiteManager)


حملات Stored (User-Agent)


+حملات Cross-Site Scripting(XSS) – DOM Based XSS


 

حملات ارجاع مستقیم ناامن به اشیاء داخلی برنامه یا Insecure Direct Object References


این نوع از حملات سایت زمانی رخ می‌دهد که طراح یا برنامه‌نویس، دسترسی ارجاع یک منبع به Object های داخلی برنامه را باز بگذارد. به‌عنوان‌مثال می‌توان به فایل‌ها، دایرکتوری‌ها و یا بانک‌های اطلاعاتی اشاره نمود. زمانی که کنترل دسترسی بر روی یک دایرکتوری یا فایل به‌صورت صحیح پیکربندی نشده باشد، هکر می‌تواند منابع را در جهت استفاده خود دست‌کاری نماید و به اطلاعات حساس و حیاتی سیستم دسترسی پیدا کند. از انواع این حملات می‌توان به موارد زیر اشاره نمود.

حملات Change Secret


حملات Reset Secret


حملات Order Tickets


 

حملات پیکربندی نادرست امنیتی یا Security Misconfiguration


این نوع از حملات سایت زمانی رخ می‌دهد که پیکربندی نادرست و ناصحیحی برای برنامه‌های کاربردی وب، قالب سایت، وب سرورها، بانک‌های اطلاعاتی و یا سیستم‌عامل‌ها تعریف‌شده باشد. ازآنجایی‌که تنظیمات پیش‌فرض ممکن است در امنیت سایت شما اختلال ایجاد نماید، باید به این مهم توجه داشته باشید که همیشه پیاده‌سازی و نگهداری تنظیمات به‌صورت سفارشی باعث کیفیت امنیت سایت خواهد بود؛ بنابراین همیشه سعی بر سفارشی‌سازی تنظیمات و همچنین به‌روزرسانی آن‌ها داشته باشید. ازجمله حملات متداول از این دسته می‌توان به موارد زیر اشاره نمود.

حملات Arbitrary File Access (Samba)


حملات Cross-Domain Policy File (Flash)


حملات Cross-Origin Resource Sharing (AJAX)


حملات Cross-Site Tracing (XST)


حملات Denial-of-Service (Large Chunk Size)


حملات Denial-of-Service (Slow HTTP DoS)


حملات Denial-of-Service (SSL-Exhaustion)


حملات Denial-of-Service (XML Bomb)


حملات Insecure FTP Configuration


حملات Insecure SNMP Configuration


حملات Insecure WebDAV Configuration


حملات Local Privilege Escalation (sendpage)


حملات Local Privilege Escalation (udev)


حملات Man-in-the-Middle Attack (HTTP)


حملات Man-in-the-Middle Attack (SMTP)


حملات Old/Backup & Unreferenced Files


حملات Robots File


 

حملات افشای اطلاعات حساس یا Sensitive Data Exposure


در این نوع از حملات سایت، غالب برنامه‌های کاربردی وب به‌صورت صحیح از اطلاعات حساس و حیاتی محافظت نمی‌کنند و هکرها می‌توانند این اطلاعات را به سرقت برده و از آن‌ها سوءاستفاده نمایند. این اطلاعات حساس می‌تواند شامل اطلاعات کارت‌بانکی یا هر داده حساس و حیاتی دیگری باشد. اطلاعات حساس و محرمانه و حیاتی ملزم حفاظت و ایمنی بیشتری است که طراحان و برنامه نویسان باید در حفاظت از آن کوشش کنند. از این قبیل حملات می‌توان به موارد زیر اشاره نمود.

حملات Base64 Encoding (Secret)


حملات BEAST/CRIME/BREACH Attacks


حملات Clear Text HTTP (Credentials)


حملات Heartbleed Vulnerability


حملات Host Header Attack (Reset Poisoning)


حملات HTML5 Web Storage (Secret)


حملات POODLE Vulnerability


حملات SSL 2.0 Deprecated Protocol


حملات Insufficient Transport Layer Protection


حملات Text Files (Accounts)


[caption id="attachment_551" align="aligncenter" width="256"]انواع هک سایت انواع حملات سایت[/caption]

حملات عدم سطح دسترسی مناسب برای دسترسی به تابع یا Missing Function Level Access Control


در حالت نرمال و ایمن یک سایت، زمانی که کاربر درخواستی را از سمت سرور می‌نمایند، سرور باید قبل از ارسال، هر سطح دسترسی و اعتبارسنجی را در سمت خود انجام داده و سپس آن را برای کاربر ارسال کند. این نوع از حملات سایت زمانی رخ می‌دهد که اعتبارسنجی و سطح دسترسی توابع در سمت سرور انجام نگردیده و این کار در رابط کاربری (UI) کاربر انجام شود و هکر با استفاده از این نوع حملات قادر به جعل درخواست‌ها، در جهت دسترسی به توابع را خواهد داشت. از این نوع حملات می‌توان به موارد زیر اشاره نمود.

حملات Directory Traversal - Directories


حملات Directory Traversal - Files


حملات Host Header Attack (Cache Poisoning)


حملات Host Header Attack (Reset Poisoning)


حملات Local File Inclusion (SQLiteManager)


حملات Remote & Local File Inclusion (RFI/LFI)


حملات Restrict Device Access


حملات Restrict Folder Access


حملات Server Side Request Forgery (SSRF)


حملات XML External Entity Attacks (XXE)


 

حملات جعل درخواست فرا وبگاهی یا Cross-Site Request Forgery(CSRF)


در این نوع از حملات سایت، یک وب‌سایت مخرب و آلوده باعث می‌گردد که مرورگر هدف یا قربانی به وب‌سایتی که مورد اعتماد است وارده شده و عملی ناخواسته انجام دهد. هکرها توسط این نوع از حملات قادر به جعل هویت کاربر و اجرای دستورات مخرب بر روی حساب او خواهند بود. از این نوع حملات می‌توان به موارد زیر اشاره نمود.

حملات Cross-Site Request Forgery (Change Password)


حملات Cross-Site Request Forgery (Change Secret)


حملات Cross-Site Request Forgery (Transfer Amount)


 

حملات استفاده از مؤلفه‌ها به‌وسیله‌ی آسیب‌پذیری‌های شناخته‌شده یا Using Components with Known Vulnerability


در این نوع از حملات سایت، مؤلفه‌هایی همچون کتابخانه‌ها، قالب‌های سایت و سایر ماژول‌های برنامه کاربردی وب، غالباً با دسترسی کامل اجرا می‌گردند. درصورتی‌که آسیب‌پذیری و شکاف امنیتی درباره‌ی مؤلفه‌ها افشا گردد، دسترسی به اطلاعات سرور و همچنین تخریب اطلاعات حساس و حیاتی ممکن خواهد بود. هکرها با استفاده از مؤلفه‌هایی که آسیب‌پذیری آن‌ها کشف‌شده است، می‌توانند به سرور نفوذ کرده و به اطلاعات حساس دسترسی پیدا نمایند. در زیر به انواع گوناگونی از این نوع حملات اشاره نموده‌ایم.

حملات Buffer Overflow (Local)


حملات Buffer Overflow (Remote)


حملات Drupal SQL Injection (Drupageddon)


حملات Heartbleed Vulnerability


حملات PHP CGI Remote Code Execution


حملات PHP Eval Function


حملات phpMyAdmin BBCode Tag XSS


حملات Shellshock Vulnerability (CGI)


حملات SQLiteManager Local File Inclusion


حملات SQLiteManager PHP Code Injection


حملات SQLiteManager XSS


 

حملات تغییر مسیرهای نامعتبر یا Unvalidated Redirects and Forwards


ازآنجایی‌که کاربران هنگام مشاهده صفحات وب به تغییر مسیرها توجه زیادی نمی‌کنند، ممکن است دچار مشکلات امنیتی در این روش از حملات گردند. در این نوع از حملات سایت، برنامه‌های کاربردی وب، غالباً در حال تغییر مسیر کاربران به صفحات دیگر هستند و زمانی که اعتبارسنجی مناسبی برای این تغییر مسیر انجام نگردد، هکرها می‌توانند هدف یا قربانی را به وب‌سایت‌های مخرب هدایت نمایند. در اصطلاح به این روش فیشینگ می‌گویند. در زیر نمونه‌ای از این حملات را نام برده‌ایم.

حملات Unvalidated Redirects & Forwards


 

حملات به دیگر آسیب پذیری های کشف شده


در انتها باید خاطرنشان نمایم که در منوی امنیت سایت، گزینه‌ای بانام -حملات به دیگر آسیب‌پذیری‌های شناخته‌شده- وجود دارد که در صورت کشف هرگونه آسیب‌پذیری جدیدی که در دسته‌بندی‌های بالا قرار نگیرد، در این دسته‌بندی قرار داده‌شده و آن را آموزش خواهیم داد.

حملات ClickJacking (Movie Tickets)


حملات Client-Side Validation (Password)


حملات HTTP Parameter Pollution


حملات HTTP Response Splitting


حملات HTTP Verb Tampering


حملات Information Disclosure - Favicon


حملات Information Disclosure - Headers


حملات Information Disclosure - PHP version


حملات Information Disclosure - Robots File


حملات Insecure iFrame (Login Form)


حملات Unrestricted File Upload


حملات A.I.M. - No-authentication Mode


حملات Client Access Policy File


حملات Cross-Domain Policy File


حملات Evil 666 Fuzzing Page


حملات Manual Intervention Required


حملات Unprotected Admin Portal


حملات We Steal Secrets... (html)


حملات We Steal Secrets... (plain)


حملات WSDL File (Web Services/SOAP)

Comments

Popular posts from this blog

انواع حملات CSRF یا حملات جعل درخواست فرا وبگاهی در برنامه‌های کاربردی وب

آشنایی با دستورات کاربردی MySQL برای حملات SQL Injection بخش ششم

آشنایی با مفهوم اولیه پایگاه داده و دلیل استفاده از پایگاه‌های داده