logo

شرکت سیاره فناوری اطلاعات

شرکت سیاره فناوری اطلاعات در سال 1394 با هدف ارائه خدمات تخصصی در حوزه امنیت شبکه، دیتاسنتر و زیرساخت با ماموریت ارتقاء کیفی ارائه خدمات، در استان هرمزگان تاسیس گردیده است.
آدرس: بندرعباس - بلوار دانشگاه - دانشگاه 15 - ساختمان خلیج فارس - ورودی آ - طبقه هفتم - واحد 34
Info@ITP-Co.net
07633678656
07633679513
09175500730

آسیب پذیری های تحت وب

آسیب پذیری های تحت وب


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

ده آسیب‌پذیری مهم وب‌سایت‌ها
سازمان 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
ازآنجایی‌که کاربران هنگام مشاهده صفحات وب به تغییر مسیرها توجه زیادی نمی‌کنند، ممکن است دچار مشکلات امنیتی در این روش از حملات گردند. در این نوع از حملات سایت، برنامه‌های کاربردی وب، غالباً در حال تغییر مسیر کاربران به صفحات دیگر هستند و زمانی که اعتبارسنجی مناسبی برای این تغییر مسیر انجام نگردد، هکرها می‌توانند هدف یا قربانی را به وب‌سایت‌های مخرب هدایت نمایند. در اصطلاح به این روش فیشینگ می‌گویند. در زیر نمونه‌ای از این حملات را نام برده‌ایم.
حملات (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

ITPCo_Co