آموزش آسیب پذیری Reflected XSS | هانت لرن

Cross-site scripting (XSS)

زمان مطالعه :8 دقیقه

آموزش آسیب پذیری Reflected XSS

سلام دوستان امروز قراره که توی این مقاله باهم حمله RXSS رو یادبگیریم.

اول از همه بریم و بررسی کنیم ببینم خود XSS ( Cross-Site Scripting ) چیه, چطوری رخ میده و چیکارا میشه باهاش کرد.

مقدمه XSS

Cross-Site Scriptingکه به اختصار XSS هم شناخته میشه, یکی از حملات وب سمت کاربر هست که بخاطر اشتباه برنامه نویس توی اعتبارسنجی ورودی کاربران, این اجازه رو به کاربر میده که کد HTML یا کد مخرب جاوااسکریپت رو وارد کنه.

XSS انواع مختلفی داره مثل, Reflected Xss , Stored Xss , Dom-Based Xss , Blind Xss و Self Xss که جاهای مختلفی در وب اپلیکیشن ها میشه اونارو پیداکرد و خصوصیات مختلفی دارن.

XSS جاهای مختلفی رخ میده مثل, URL ها , سرچ باکس ها , نظرسنجی ها , ارتباط با ما, آپلود فایل , لینک ها و . . .

توضیح RXSS

RXSS زمانی رخ میده که سایت ورودی کاربر رو بدون فیلتر کردن و به صورت مستقیم داخل کد سایت قرار بده. RXSS فقط یکبار اجرا میشه چون اسکریپت مخرب توی سرور ذخیره نمیشه و فقط همون یکبار میشه به صورت یک لینک اون رو به قربانی ها ارسال کرد.

شناسایی RXSS

برای اینکه تست کنیم آیا یک بخش به این آسیب پذیری دچار هست یا نه باید یک پیلود ( کد مخرب ) رو به بخش مربوطه اضافه کنیم و ببینیم آیا مقدار وارد شده در صفحه یا کد سایت وجود دارد یا خیر, مثلا وارد کردن test"> در سرچ باکس. اگر کد ما بدون هیچ انکودی و بدون هیچ تغییری مستقیما داخل کد سایت قرار گرفت میتوان این احتمال را داد که سایت آسیب پذیر است.

کامل کردن پیلود

در مرحله دوم بعد از اینکه مطمئن شدیم ورودی ما درون کد سایت قرار میگیرد, پیلود خود را کمی گسترش میدهیم.

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

اگر پیلود ما درون پراپرتی های HTML مانند value="" بود, اول سعی میکنیم با استفاده از " و یا ' از پراپرتی HTML خارج شویم. و سپس با استفاده از ایونت های Javascript این آسیب پذیری را اکسپلویت میکنیم ( بهره برداری از آسیب پذیری با یک پیلود)

به این صورت: "onclick=alert()

و یا اگر پلود ما درون مقدار یک تگ بود که بدون هیچ مشکلی پیلود خود را گسترش میدهیم.

به این صورت: <test onclick=alert()>Click Here!</test>

حالا با کلیک روی Click Here! کد مخرب ما اجرا میشه, و اگر میخواید این آسیب پذیری رو اتومات کنید که نیازی به کلیک کردن نداشته باشه میتونید برید سراغ ایونت هایی مثل onerror, onload و . . . و این ایونت هارو روی تگ های مثل svg , img بزنید.

نمونه پیلود: <svg onload=alert()

خب دوستان این مقاله اینجا به پایان میرسه اگه خوشتون اومد با یه لایک به ما انرژی بدین, خیلی ممنون.

سپاس از وبسایت دوست داشتنی هانتلرن.

0:00
-0:00
Omid Noory

Omid Noory

تاریخ انتشار : ۱۶ اسفند ۱۴۰۳

هک

تست نفوذ

باگ بانتی

۰

Omid Noory

Omid Noory

مشاهده مقاله های بیشتر