چگونه باگ xss را اسکن کنیم؟

سلام حالتون چطوره؟

در این مقاله میخواهیم باگ xss رو اسکن کنیم.قبل از هرچیزی بگم که اگه نمیدونید باگ xss چیست مقاله باگ xss چیست رو در سایت مطالعه کنید.

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

خب چجوری اسکن کنیم؟

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

خب بریم که اسکن دستی رو آغاز کنیم.

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

مثلا ما در قسمت سرچ یک وب سایت عبارت test رو سرچ میکنیم سپس به url سایت دقت میکنیم و اگر کلمه test در url سایت قرار گرفته باشد احتمال اینکه اون بخش باگ xss داشته باشد وجود دارد.

خب حالا که احتمال میدیم اون صفحه باگ xss داره میریم سراغ اسکنش.

ابتدا یک کد ساده جاوا اسکریپتی رو در اون قسمت وارد میکنیم مثلا:

<script>alert('ultragard')</script>

خب الان دو احتمال به وجود میاد:

۱-نتیجه ای مثل عکس زیر دریافت میکنیم

و احتمال دوم اینه که هیچ اتفاقی نمیوفته.

خب اگه به احتمال اول برخوردید سایت باگ xss رو داراست اما اگه به احتمال دوم برخوردید احتمال اینکه سایت xss نداشته باشد هست اما بازم شاید سایت باگ داشته باشه.

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

مثل:

	"/><script>alert('ultragard')</script>
	" "/><script>alert('ultragard')</script>
	<sCr'iPt>alert('ultragard')</sCr'iPt>
	<sCriPt>alert('ultragardr')</sCriPt>
	</title><sCriPt>alert('ultragard')</sCriPt>

خب اگه تمامی بایپس هارو تست کردید و به جواب نرسیدید یعنی سایت xss نداره.

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

حتما بخوانید: آموزش اصطلاحات در هک و امنیت

خوب بریم که چنتا اسکنر باهم نصب کنیم!

قبل از هرچیز بگم که خودتون برین همه اسکنر هرو امتحان کنین که از تجربه خودتئن استفاده کنین نه دیگرا.و حتی یه اسکنرم برایه خودتون بنویسین!

خوب اولین اسکنری که من پیشنهاد میدم:

اسکنر:pwnxss

لینک پیت هاب ابزار: لینک

زبان برنامه نویسی شده:python3

خب بریم سراغ آموزش نصب

ابتدا ترمینال را باز کرده و ابزار را با استفاده از دستور زیر دانلود کنید:

    Git clone https://github.com/pwn0sec/PwnXSS.git

حالا وارد پوشه ابزار میشیم.

Cd PwnXSS

حال شما نیازمند پایتون ۳ هستید و باید پیش نیاز های را نصب کنید. با دستور زیر ابتدا پیش نیاز ها را نصب میکنیم

    pip install bs4

pip install requests

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

Python3 pwnxss.py –help

حال برای اسکن و پیدا کردن باگ xss در یک سایت براحتی می توانید از سوییچ -u استفاده کنید مانند زیر تا اسکن اتوماتیک شروع شود.

Python3 pwnxss.py  -u https://sitename.com

اسکنر دوم:XSpear

لینک ابزار: لینک

زبان برنامه نویسی شده: gem

ابتدا ترمینال رو باز میکنیم. و با دستور زیر ابزارو دانلود میکنیم:

git clone https://github.com/hahwul/XSpear

وارد دایرکتوریه ابزار میشیم

cd XSpear

سپس پیش نیاز های ابزار رو نصب میکنیم.

gem install XSpear-1.4.1.gem

بعد از نصب با دستورات زیر میتوانید سایت تارگت را اسکن کنیم.

xspear -u ‘https://www.hahwul.com/?q=123‘ –cookie=’role=admin’ -v 1 -a

xspear -u ‘http://testphp.vulnweb.com/listproducts.php?cat=123‘ -v 2

xspear -u ‘http://testphp.vulnweb.com/listproducts.php?cat=123‘ -v 0 -o json

خب امیدوارم این مقاله به دردتون خورده باشه.

لینک های مرتبط: باگ چیست؟

درباره‌ی امیرمحمد ایرجی

para8doxadmin
امیرمحمد ایرجی مقدم هستم بنیان گذار و سازنده تیم امنیتی اولترا گارد. در حوزه های لینوکس,شبکه,تست نفوذ وب,برنامه نویسی,و بسیاری از حوزه های دیگر تخصص داشته و تمام سعیم بر این بوده که علم سایبری ایران را افزایش داده و با تیم اولترا قدم کوچکی در پیشرفت کشور برداریم. برای ارتباط با من میتوانید به ایدی اینستاگرام mrpentst یا ایدی تلگرام mrpentst پیغام بدید یا به ultragardteam@gmail.com ایمیل بدهید.

حتما ببینید

آشنایی با اصطلاحات در هک و امنیت

سلام دوستانمتین هستم از سایت امنیتی اولترا گارد… در این بخش میخام راجب اصصلاحت پر …

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

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