ویرگول
ورودثبت نام
rasgari
rasgariدر مورد ای‌تی، کار، روزمرگی و زندگی می‌نویسم | کارشناس تست نفوذ وب | گیت هاب https://github.com/rasgari
rasgari
rasgari
خواندن ۳ دقیقه·۶ روز پیش

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

در دنیای امنیت سایبری و تست نفوذ وب، شناخت دقیق سطح حمله (Attack Surface) اولین و حیاتی‌ترین گام برای شناسایی آسیب‌پذیری‌هاست. برای یک محقق امنیتی، هر «اندپوینت» (Endpoint) و هر «پارامتر» (Parameter) یک درِ ورودی بالقوه به سمت سرور است که می‌تواند منجر به کشف باگ‌هایی نظیر SQL Injection، Cross-Site Scripting (XSS) یا حتی نقص‌های منطقی (Business Logic Vulnerabilities) شود. در این مقاله به بررسی ابزارهای قدرتمند فازینگ و کشف پارامتر می‌پردازیم.



چرا فازینگ پارامترها حیاتی است؟

بسیاری از آسیب‌پذیری‌های پیچیده در پارامترهایی پنهان شده‌اند که در نگاه اول در کد منبع یا ظاهر سایت دیده نمی‌شوند. فازینگ (Fuzzing) به فرآیند ارسال داده‌های انبوه و غیرمنتظره به این پارامترها گفته می‌شود تا رفتار سرور سنجیده شود. هدف از این کار، یافتن ورودی‌هایی است که باعث خطای غیرعادی یا تغییر در پاسخ سرور می‌شوند.



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

۱. ParamSpider

این ابزار یکی از محبوب‌ترین انتخاب‌ها برای استخراج پارامترها از منابع آرشیوی است. ParamSpider با بهره‌گیری از Wayback Machine، تمام لینک‌های ثبت شده از یک دامنه را تحلیل کرده و پارامترهای فعال را استخراج می‌کند. مزیت بزرگ آن، عدم نیاز به ارتباط مستقیم و سنگین با سایت در مراحل اولیه است.

git clone https://github.com/0xKayala/ParamSpider.git



۲. Katana

اگر به دنبال ابزاری هستید که با استانداردهای مدرن توسعه یافته باشد، Katana محصول شرکت ProjectDiscovery بی‌نظیر است. این یک "خزشگر" (Crawler) بسیار سریع است که نه تنها لینک‌ها را دنبال می‌کند، بلکه ساختار جاوااسکریپت صفحات را نیز تحلیل کرده و اندپوینت‌های پنهان را کشف می‌کند. قابلیت شخصی‌افزایی (Customization) در کاتانا بسیار بالاست.

go install -v github.com/projectdiscovery/katana/cmd/katana@latest

katana -u https://target.com -d 5 -o output.txt



۳. Arjun

وقتی صحبت از «فازینگ پارامترهای مخفی» (Hidden Parameter Discovery) می‌شود، Arjun پادشاه است. برخلاف ابزارهایی که فقط URLهای موجود را لیست می‌کنند، Arjun سعی می‌کند با حدس زدن (Brute-forcing)، پارامترهایی که برنامه‌نویس در کد سمت سرور تعریف کرده اما در داکیومنت‌ها نیامده را پیدا کند. این ابزار برای پیدا کردن پارامترهایی که به دستورات دیتابیس یا منطق اپلیکیشن متصل هستند، ضروری است.

pip3 install arjun

arjun -u https://target.com



۴. GAU و Waybackurls

این دو ابزار در دسته "Passive Recon" قرار می‌گیرند. آن‌ها به جای زدن مستقیم به سرور و ایجاد ترافیک، از دیتابیس‌های عمومی وب (مثل Common Crawl) برای واکشی تمامی URLهایی که در گذشته ایندکس شده‌اند استفاده می‌کنند. این روش سریع‌ترین راه برای نقشه‌برداری اولیه از یک اپلیکیشن بزرگ است.

go install github.com/lc/gau/v2/cmd/gau@latest

gau target.com --threads 5 > urls.txt

waybackurls target.com > endpoints.txt



استراتژی پیاده‌سازی

یک محقق حرفه‌ای هرگز تنها به یک ابزار تکیه نمی‌کند. متدولوژی پیشنهادی به شرح زیر است:

  1. جمع‌آوری غیرفعال (Passive): استفاده از GAU برای لیست کردن تمام URLهای قدیمی.

  2. خزش فعال (Active Crawling): استفاده از Katana برای کشف اندپوینت‌های جدید و جاری.

  3. فازینگ پارامترها: استفاده از Arjun بر روی اندپوینت‌های حساس برای یافتن پارامترهای پنهان.

  4. تست آسیب‌پذیری: استفاده از ابزارهایی مانند SQLMap بر روی پارامترهای کشف شده.



نتیجه‌گیری

کشف پارامترها و اندپوینت‌ها، قلب تپنده تست نفوذ وب است. ابزارهایی که معرفی شدند، هرکدام بخشی از پازل شناسایی هستند. در حالی که ابزارهایی مثل ParamSpider و GAU به شما در دید کلی کمک می‌کنند، Arjun و Katana ابزارهای تخصصی‌تر برای کنکاش عمیق در ساختار اپلیکیشن هستند. استفاده هوشمندانه و ترکیبی از این ابزارها، به شما کمک می‌کند تا فراتر از لایه‌های سطحی اپلیکیشن نفوذ کرده و آسیب‌پذیری‌های واقعی را پیدا کنید.

نکته مهم: همیشه به یاد داشته باشید که فازینگ و تست نفوذ باید صرفاً در محیط‌های مجاز (Authorized Environments) و طبق قوانین "Bug Bounty" برنامه هدف انجام شود.

تست نفوذfuzzing
۴
۰
rasgari
rasgari
در مورد ای‌تی، کار، روزمرگی و زندگی می‌نویسم | کارشناس تست نفوذ وب | گیت هاب https://github.com/rasgari
شاید از این پست‌ها خوشتان بیاید