سلام دوستان! امروز میخوام یکم از شروع باگ بانتی بگم و همچنین رایتاپ آسیب پذیری XSS رو بنویسم.
خب اول دوست دارم قبل از باگ بگم چه راههایی رو رفتم و نتیجه خوبی نداشتم! من در شروع خیلی مطالعه کردم و سعی کردم تا حدودی با ریکان و کشف آسیبپذیری و.. آشنا بشم و هانت رو شروع کردم اما اشتباهم این بود که بیخیال یادگیری شدم و فقط میخواستم هانت کنم، هر روز میگذشت و چیزی پیدا نمیکردم و تقریبا داشتم نا امید میشدم.
این مرحله تقریبا اشتباهم رو متوجه شدم که نباید یادگیری رو متوقف میکردم، از این به بعد هانتر هارو توی توییتر، مدیوم و.. دنبال میکردم و رایتاپ های اون هارو میخوندم و خب نتیجه هم داد و اولین باگم زدم.
بعد از اولین باگ روی ریکان خودم خیلی کار کردم ولی بعد از ریکان فقط به Nuclei اکتفا میکردم و نتیجه هم این شد که اکانتم پر شد از دوپلیکیت و NA و دیدن اکانتم بیشتر حالمو بد میکرد 🙁
توی مرحله بالا هم بعد مدتی دیدم که خب همه هانتر ها تقریبا Nuclei رو میشناسن و اونا هم دقیقا همین کارو میکنن و مشخصه که نتیجه دوپلیکیت میشه، پس گفتم باید برم یکم منوال کار کنم بعد اگر چیز جالبی پیدا کردم اون رو خودم اتومیت کنم که خلاقیت توی اتومیشن من وجود داشته باشه..
اما چجوری آسیب پذیری XSS رو زدم.
ریکان
من اکثرا برنامه هایی رو انتخاب میکنم که واید باشن تا بتونم از خلاقیت خودم توی فرایند ریکان استفاده کنم، این برنامه اسکوپی که داشت به این صورت بود: redacted.com.* پس شروع به ساب دامین دیسکاوری کردم.
ریکان من برای ساب دامین دیسکاوری رو تقریبا میشه به دو قسمت تقسیم کرد، کارایی که همه میکنن و کارایی که بقیه کمتر انجام میدن.
کارایی که همه میکنن: ابزارهای Subfinder, AssetFinder, Amass رو ران کردم و همچنین سعی کردم از سایت های کراولر هم استفاده کنم مثل crt.sh و..
کارایی که بقیه کمتر انجام میدن: این قسمت از ابزار PureDNS برای DNS Brute force استفاده کردم و در نهایت رسیدیم به اجرای تولز خودم، من یه تولز نوشتم که از توی گیتهاب ساب دامین واسم پیدا میکنه.
بعد از اینکه 45224 ساب دامین پیدا کردم وقت سرویس دیسکاوری بود از ابزار httpx استفاده کردم و سعی کردم بر اساس تکنولوژی و Status Code این ساب دامینها رو به دسته های کوچیک تر تقسیم کنم.
بعد از این دستهبندی با سابهایی که Status Code 200 داشتن و ASP بودن شروع کردم و به یک صفحه لاگین رسیدم که بنظرم جالب بود.
چرا ASP؟ توی ریکان گاهی اوقات میرسیم به یسری ساب دامنهها که خیلی قدیمی هستن و پسوند فایل های اونها .aspx هست و خب این نشون میده که از نسخه های قدیمی ASP استفاده میکنه و این جذابه 🙂
کشف آسیبپذیری
اول از همه سعی کردم از Default Credentials استفاده کنم و به نتیجهای نرسیدم، سورس کد رو خوندم و دنبال سینک جالبی توی کد های جاوااسکریپت گشتم و خب بازم چیز خاصی پیدا نشد و همچنین بقیه تست هارو انجام دادم تا اینکه با ابزار Ffuf فاز کردم و به اندپوینت جالبی رسیدم، یه اندپوینت پیدا شد که بعد از درخواست بهش من رو با یک پارامتر به یک صفحه دیگه ریدایرکت میکرد و توی صفحه جدید با جاوااسکریپت ریدایرکت میشدم (یکم گیج کننده شد پس با مثال میگم)
شما هم مثل من فکر میکنید؟ اینجا کافی بود که بتونم با سینگل کوت برک کنم و کد جاوااسکریپت خودمو بنویسم.
خب منم تست کردم و متاسفانه HTML Encode کرد.. یعنی وقتی مینوشتم ayrix%22 خروجی چنین چیزی بود ayrix&qout;
در اوج نا امیدی اومدم کل پیلود رو URL encode کردم و ارسال کردم (%61%79%72%69%78%22) و نتیجه واقعا عجیب بود بدون هیچ انکدی ورودی من رفلکت شد!! اما چرا؟ واقعا نمیدونم..
در آخر هم کافی بود پیلود زیر رو کامل URL encode کنم و ارسال کنم :))
'-alert(origin)-'
گزارش رو ارسال کردم و در نتیجه 750 دلار بهم بانتی دادن.
امیدوارم که مفید بوده باشه واستون.
Twitter: https://twitter.com/ImAyrix
Github: https://github.com/ImAyrix
Hi
Thanks for sharing your experiences
The best wishes and buggy days for you
Good luck
دمــت گــرم امیرعباس
عــالـی بود
خوب توضیح دادی از اول داستان.
اما مگه قرار عجیب باشه؟! چون طرف نیومده encode رو بررسی کنه و این عجیبیش کجای نمیدونم شایدم خوب اطلاع ندارم و باید انکود شده هم نباید رد میشده! بهرحال موفق باشی
یکمم در اوج نا امیدی و.. اینا تکراری مانند بود انگار اما خوب بود رایتاپ در کل 🙂
خیلی خوب بود. ۳ ۴ بار خوندمش.:)
عالی🌹❤️
سلام
خیلی خوب توضیح دادی
متشکرم
مرسی امیر عباس
عالی بود دمت گرم 🌹
مفید مختصر عالی