انواع هملات به سایت ها
- دوشنبه, ۳ تیر ۱۳۹۸، ۰۱:۴۴ ب.ظ
در این مقاله قصد داریم تا شما را با استانداردی برای انجام روند حملات سایت آشنا نماییم و در ادامه کار، این استاندارد روش کاری میشود تا بتوانید بر اساس یک متد و روش خاص مراحل یادگیری هک سایت، امنیت سایت و تست نفوذ سایتها را یاد بگیرید. وبسایت شکاف با استناد به این متدولوژی و استاندارد بینالمللی آن، کلیه آموزشهای خود را از ابتدا تا انتهای با آرمانی برای متخصص شدن شما در برقراری امنیت سایت خودتان همراهی خواهد کرد.
در مقاله قبلی که با عنوان امنیت سایت یا تست نفوذ در برنامههای کاربردی وب، با استفاده از استانداردهای بینالمللی معرفیشده بود، با استانداردی آشنا شدیم که سازمان ایجادکننده آن OWASP است.
ده آسیبپذیری مهم وبسایتها
سازمان OWASP با تکیهبر بررسی آخرین تهدیدات، خطرات و شکاف های امنیتی در وبسایتها و برنامههای کاربردی وب، یک پروژه بانام OWASP Top Ten دارد که معروف به ده آسیبپذیری مهم و حیاتی وبسایتها است. پروژه OWASP Top Ten بهصورت کامل و جامع کلیهی آسیبپذیریها و شکاف های امنیتی وبسایتها را کشف نموده و آنها را در یک دستهبندی دهتایی جای داده است.
سازمان OWASP هرچند سال یکبار فهرستی از شاخصترین آسیبپذیریها و شکافهای امنیتی در برنامههای کاربردی وب و سرویسدهندههای تحت وب را از طریق مستندات خود منتشر مینماید که این لیست از مستندات مبنا و پایهای برای امنیت در برنامههای کاربردی تحت وب بشمار میرود.
پروژه OWASP Top Ten 2013 آخرین نسخهی منتشرشده از این پروژه میباشد که بروزترین لیست مستند در آن قرارگرفته است. در زیر هرکدام از این مستندات و چکلیستها را که سرلوحه کار وبسایت شکاف است بررسی مینماییم. این دستهبندی به انواع مختلف حملات وبسایت اشاره مینمایند و ما در ادامه راه خود در وبسایت شکاف، به آموزش آنها خواهیم پرداخت.

ده آسیب پذیری رایج حملات سایت
انواع حملات سایت
حملات تزریق یا 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)

انواع حملات سایت
حملات عدم کنترل سطح دسترسی مناسب برای تابع یا 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
حملات به دیگر آسیب پذیری های کشف شده Attacks on other vulnerabilities discovered
در انتها باید خاطرنشان نمایم که در منوی امنیت سایت، گزینهای بانام -حملات به دیگر آسیبپذیریهای شناختهشده- وجود دارد که در صورت کشف هرگونه آسیبپذیری جدیدی که در دستهبندیهای بالا قرار نگیرد، در این دستهبندی قرار دادهشده و آن را آموزش خواهیم داد.
حملات 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
- ۹۸/۰۴/۰۳