TOOLS

ابزارهای امنیت سایت: از رایگان تا حرفه‌ای، با مرزهای واقعی هر ابزار

محمدرضا مقدم
محمدرضا مقدم
توسعه‌دهنده ابزاربازبینی: ۲۵ مرداد ۱۴۰۵
۱۴ تیر ۱۴۰۵ ۱۹ دقیقه مطالعه

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

در یک نگاه

  • نام درست ابزار متن‌باز محبوب ZAP یا «ZAP by Checkmarx» است؛ این پروژه در سپتامبر ۲۰۲۳ از OWASP جدا شد و «OWASP ZAP» نامی منسوخ است.
  • Burp Community هیچ اسکنری ندارد — نه اسکنر محدود، بلکه اصلاً. اما DOM Invader در نسخه‌ی رایگان هم موجود است.
  • Caido متن‌باز نیست و اسکنر خودکار ندارد؛ جانشین گردش کار دستی Burp است، نه جانشین اسکنر آن.
  • Nuclei اسکنر مسائل شناخته‌شده است، نه ابزار کشف آسیب‌پذیری تازه. Nikto هم یک اسکنر قدیمی وب‌سرور است با کاربرد به‌شدت کاهش‌یافته.
  • ابزارهای رایگان مسائل شناخته‌شده و پیکربندی نادرست را پیدا می‌کنند و نسبت به مجوزدهی و منطق کسب‌وکار نابینا هستند.

پنج کار متفاوت، پنج دسته ابزار

پیش از هر نامی، این تقسیم‌بندی را در ذهن داشته باشید. اشتباه اصلی در فهرست‌های ابزار، درهم ریختن این پنج کار است:

  1. شناسایی: پیدا کردن اینکه چه چیزی از شما در معرض اینترنت است — زیردامنه‌ها، سرویس‌ها، اندپوینت‌ها.
  2. کشف مسیر و فازینگ: پیدا کردن مسیرها و پارامترهایی که در جایی لینک نشده‌اند.
  3. اسکن مسائل شناخته‌شده: تطبیق امضا با CVEها، پیکربندی‌های نادرست و فایل‌های حساس.
  4. آزمون دستی با پروکسی میان‌گیر: جایی که آسیب‌پذیری‌های واقعاً پرتأثیر کشف می‌شوند.
  5. تحلیل کد: بررسی کد منبع به‌جای برنامه‌ی در حال اجرا.

یک ابزار خوب در دسته‌ی سه، اطلاعی از دسته‌ی چهار نمی‌دهد. جدول زیر نمای کلی است و بخش‌های بعد جزئیات هر کدام را می‌دهد.

ابزاردستهمجوز / مدلمرز مهم
ZAP (ZAP by Checkmarx)اسکنر پویا + پروکسیApache 2.0، رایگاننوفه‌ی بیشتر و ارگونومی دستی ضعیف‌تر از Burp
Burp Suite Communityپروکسی دستیرایگاناسکنر ندارد، Collaborator ندارد، Intruder محدود
Burp Suite Professionalپروکسی + اسکنراشتراک سالانه‌ی هر کاربراسکنر منطق و مجوزدهی را پیدا نمی‌کند
Burp Suite DAST (پیش‌تر Enterprise)اسکن سازمانیقیمت عمومی نداردابزار پوشش، نه جانشین آزمون دستی
Caidoپروکسی دستیمتن‌باز نیست؛ رایگان محدود + پرداختیاسکنر خودکار ندارد؛ همچنان پیش از نسخه‌ی ۱٫۰
Nucleiاسکنر قالب‌محورMIT، رایگانفقط مسائل شناخته‌شده
ffuf / feroxbusterفازینگ و کشف مسیرمتن‌باز، رایگانکیفیت خروجی تابع فهرست‌واژه
sqlmapبهره‌جویی تزریق SQLGPLv2، رایگانبه نقطه‌ی تزریق شناسایی‌شده نیاز دارد
Semgrep CE / Opengrepتحلیل ایستاCE با LGPL 2.1؛ بقیه‌ی محصولات اختصاصیتحلیل درون‌فایلی در نسخه‌ی آزاد
Niktoاسکنر وب‌سرورمتن‌باز، رایگانقدیمی، پرنوفه، نابینا به برنامه‌های مدرن

ابزارهای رایگان که مالک سایت خودش می‌تواند اجرا کند

اگر تیم امنیتی ندارید، با همین چند ابزار می‌توانید لایه‌ی اول را بررسی کنید.

بررسی TLS و گواهی

testssl.sh و sslyze و اسکریپت ssl-enum-ciphers در Nmap، در چند دقیقه به شما می‌گویند چه نسخه‌هایی از TLS فعال است و چه مجموعه‌رمزهایی پذیرفته می‌شوند. آنچه باید ببینید: TLS 1.3 فعال، TLS 1.0 و 1.1 خاموش (این دو رسماً منسوخ شده‌اند)، و اگر TLS 1.2 برای سازگاری باز است، فقط مجموعه‌رمزهای ECDHE با AEAD باقی مانده باشند.

بررسی هدرهای امنیتی و CSP

ساده‌ترین راه curl -I است. برای CSP، ارزیاب CSP گوگل ابزار استاندارد سنجش کیفیت سیاست است. دو نکته را در خروجی بررسی کنید: وجود 'unsafe-inline' در script-src که سیاست را در برابر XSS عملاً بی‌اثر می‌کند، و اتکا به فهرست دامنه‌های مجاز — که پژوهش گوگل نشان داد در عمل تقریباً همیشه قابل دور زدن است.

ابزار توسعه‌دهنده‌ی مرورگر

این یک سطح آزمون اصلی است، نه فرعی. در برگه‌ی Application صفت‌های کوکی نشست را ببینید (Secure، HttpOnly، SameSite) و بررسی کنید توکن احراز هویت در localStorage نباشد — چون هر XSS آن را می‌خواند. در برگه‌ی Sources، فایل‌های جاوااسکریپت بسته‌بندی‌شده را جستجو کنید؛ کلید API و آدرس اندپوینت‌های داخلی اغلب همان‌جا پیدا می‌شود. فایل‌های .map جامانده هم کل ساختار کد اصلی را بازسازی می‌کنند.

ZAP — اسکنر پویای رایگان

نام درست این ابزار «ZAP» یا «ZAP by Checkmarx» است. نسخه‌ی جاری ZAP 2.17.0 است که در ۱۵ دسامبر ۲۰۲۵ منتشر شد، با مجوز Apache 2.0 و کاملاً رایگان. ZAP پروکسی، اسکنر فعال و غیرفعال، خزنده و خزنده‌ی AJAX، و بازار افزونه دارد و به‌طور کامل قابل خودکارسازی است — به همین دلیل انتخاب غالب برای DAST در خط لوله‌ی CI/CD است.

نسخه‌ی ۲٫۱۷ قابلیت «Insights» و حذف موارد تکراری در هشدارهای اسکن غیرفعال را افزود، به‌علاوه‌ی هشدارهای «Systemic» که مسائل سراسری سایت مثل هدرهای غایب را به‌جای هزاران مورد تکراری به‌صورت نمونه گزارش می‌کنند — که خود پذیرشی صریح از ضعف قدیمی این ابزار است: نوفه‌ی خروجی. در مقایسه با Burp، ارگونومی آزمون دستی و خزش برنامه‌های تک‌صفحه‌ای در ZAP ضعیف‌تر است و سرویس تشخیص خارج‌ازباند هم‌رده‌ی Collaborator ندارد.

باور غلط رایج

«OWASP ZAP» — این نام منسوخ است. تیم ZAP در آگوست ۲۰۲۳ به پروژه‌ی Software Security Project منتقل شد و در سپتامبر ۲۰۲۳ از OWASP جدا شد؛ در سپتامبر ۲۰۲۴ هم با Checkmarx همراه شد. وضعیت کنونی: یک پروژه‌ی متن‌باز مستقل که تیم هسته‌ی خودش آن را کنترل می‌کند و Checkmarx از آن حمایت می‌کند. برند رسمی «ZAP by Checkmarx» است و خود پروژه صفحه‌ای دارد که صریحاً از مردم می‌خواهد دیگر «OWASP ZAP» نگویند.

شناسایی: پیدا کردن چیزی که فراموش کرده‌اید

قاعده‌ی شناسایی این است: چیزی که نمی‌دانید وجود دارد را نمی‌توانید ایمن کنید — و زیردامنه‌ی فراموش‌شده با نسخه‌ی قدیمی برنامه، پرتکرارترین یافته‌ی جدی همین مرحله است.

  • subfinder (نسخه‌ی v2.14.0) — شمارش غیرفعال زیردامنه از منابع متعدد. سریع و کم‌سروصدا. نکته‌ی به‌روز: در آخرین نسخه منبع Facebook/Meta حذف شده، چون Meta آن API را متوقف کرد.
  • httpx (نسخه‌ی v1.9.0) — بررسی می‌کند کدام یک از آن زیردامنه‌ها واقعاً پاسخ می‌دهد و چه چیزی روی آن اجرا می‌شود: کد وضعیت، عنوان، فناوری، داده‌ی TLS. خروجی subfinder بدون httpx عملاً بلااستفاده است.
  • katana (نسخه‌ی v1.6.1) — خزنده با حالت headless؛ نسخه‌ی ۱٫۶ پشتیبانی از ورود خودکار و محدودسازی نرخ به‌ازای هر میزبان را افزود.
  • amass (پروژه‌ی OWASP، نسخه‌ی v5.1.1) — برای کشف عمیق و همبسته‌ی دارایی قوی است (فعال و غیرفعال، حدس DNS، همبستگی ASN و WHOIS) اما سنگین‌تر و کندتر؛ رویه‌ی متعارف امروز: subfinder برای سرعت، amass برای عمق.
  • gau (نسخه‌ی v2.2.4، اکتبر ۲۰۲۴) — آدرس‌های شناخته‌شده را از چهار منبع می‌کشد: Wayback Machine، Common Crawl، AlienVault OTX و URLScan.
ابزاری که باید کنار بگذارید

بسیاری از آموزش‌های فارسی waybackurls را به‌عنوان ابزار استاندارد شناسایی آرشیوی معرفی می‌کنند. این ابزار عملاً بی‌نگه‌دارنده است: آخرین نسخه‌اش v0.1.0 در آپریل ۲۰۲۲ است، مجموعاً ۱۳ کامیت دارد و فقط Wayback Machine را پرس‌وجو می‌کند. جانشین درست gau است که مجموعه‌ی منابع بزرگ‌تری دارد و فعال است.

و Nmap (نسخه‌ی ۷٫۹۹۱، منتشرشده در ۶ آگوست ۲۰۲۶) که در کار وب سه استفاده دارد: پیدا کردن سرویس‌های وب روی پورت‌های غیراستاندارد مثل ۸۰۸۰ و ۸۴۴۳، اثرانگشت نسخه با -sV، و بررسی TLS با اسکریپت‌های NSE. توجه کنید که Nmap با مجوز NPSL منتشر می‌شود که مجوزی اختصاصی و غیر از GPL استاندارد است. محدودیت روشنش هم این است که هیچ چیز درباره‌ی منطق برنامه نمی‌گوید.

کشف مسیر و فازینگ

این دسته همان چیزی است که فایل پشتیبان جامانده، پنل مدیریتی لینک‌نشده و اندپوینت فراموش‌شده را پیدا می‌کند.

  • ffuf — نسخه‌ی v2.1.0 از سپتامبر ۲۰۲۳. با زبان Go نوشته شده، بسیار سریع، و استاندارد عملی فازینگ وب است. صادقانه بگوییم: نزدیک سه سال است نسخه‌ی برچسب‌گذاری‌شده‌ی جدیدی منتشر نشده، هرچند مخزن همچنان کامیت و فعالیت دارد. پس «مداوماً به‌روز» توصیف درستی از آن نیست؛ «پایدار و همچنان استاندارد» درست است. نقش واقعی ffuf گسترده‌تر از «حدس زدن دایرکتوری» است: کلیدواژه‌ی FUZZ را می‌توان هر جایی گذاشت — در مسیر، نام پارامتر، مقدار پارامتر، هدر، یا هدر Host برای کشف vhost. آنچه آن را در برابر برنامه‌هایی که به همه‌چیز ۲۰۰ می‌دهند کاربردی می‌کند، فیلترهای -fc، -fs، -fw، -fl و کالیبراسیون خودکار -ac است.
  • feroxbuster — نسخه‌ی v2.13.1 از ۱۳ دسامبر ۲۰۲۵، نوشته‌شده با Rust. تفاوت اصلی‌اش با ffuf این است که به‌صورت پیش‌فرض بازگشتی است. آخرین نسخه چند اشکال محدودسازی نرخ را رفع کرده و اکتشافی‌هایی برای تشخیص فهرست‌شدن دایرکتوری افزوده است.
  • dirsearch — نسخه‌ی v0.4.3، با پایتون. کندتر از ابزارهای Go و Rust، اما با خروجی خواناتر و امکان ذخیره و ادامه‌ی اسکن.

فهرست‌واژه‌ها: عاملی که کیفیت را تعیین می‌کند

کیفیت خروجی این ابزارها بیشتر به فهرست‌واژه بستگی دارد تا به ابزار. مجموعه‌ی مرجع SecLists است، با مجوز MIT؛ نگه‌دارنده‌ی فعال کنونی آن ItsIgnacioPortal است (از سال ۲۰۲۱). دو نکته‌ی عملی: مخزن بزرگ است و کلون کامل آن چند دقیقه طول می‌کشد، و آنتی‌ویروس‌ها روی آن هشدار کاذب می‌دهند — خود مخزن این را در README ذکر کرده است. نقطه‌ی شروع متعارف، فهرست‌های Discovery/Web-Content/raft-* و directory-list-2.3-medium.txt است؛ فایل پرارجاع common.txt کوچک و کم‌بازده است. مفاهیم پایه در فازینگ توضیح داده شده است.

پروکسی میان‌گیر: ستون فقرات آزمون حرفه‌ای

اینجا همان جایی است که آسیب‌پذیری‌های واقعاً پرتأثیر کشف می‌شوند، چون به آزمونگر اجازه می‌دهد هر درخواست را ببیند، تغییر دهد و بازپخش کند.

Burp Suite

نسخه‌ی جاری Professional و Community 2026.7.3 است (منتشرشده در ۶ آگوست ۲۰۲۶). محصول سازمانی این خانواده هم Burp Suite DAST نام دارد — نامی که جایگزین «Burp Suite Enterprise Edition» شده است؛ هر محتوایی که هنوز نام قدیمی را به کار می‌برد، از نام بازنشسته‌شده استفاده می‌کند. نسخه‌ی جاری DAST نیز 2026.8.1 است.

گردش کار متعارف: پروکسی برای مشاهده‌ی ترافیک، Repeater برای تکرار دستی درخواست، Intruder برای فازینگ پارامتر، Scanner برای پوشش خودکار، و Collaborator برای تشخیص خارج‌ازباند — یعنی همان چیزی که SSRF کور، XXE کور و تزریق دستور کور را قابل تشخیص می‌کند. توسعه‌پذیری‌اش هم از سه راه است: Montoya API با جاوا، Bambdas و BChecks.

باور غلط رایج

«Burp Community هم اسکنر دارد، فقط محدودتر است.» نادرست است: Burp Community هیچ Burp Scanner ندارد و Collaborator هم ندارد. آنچه در نسخه‌ی رایگان نیست: ذخیره‌ی فایل پروژه، Intruder کامل (نسخه‌ی رایگان یک «Intruder (demo)» با محدودیت شدید نرخ دارد که برای فازینگ واقعی بی‌فایده است — به‌جای آن از ffuf استفاده کنید)، اسکنر، Collaborator، افزونه‌های مخصوص Pro، جستجوی سراسری در پروژه، خزش خودکار کشف محتوا، و تولید خودکار گزارش.

و یک تصحیح در جهت مخالف: DOM Invader در هر دو نسخه‌ی Community و Professional موجود است — مستندات PortSwigger این را صریح گفته و بسیاری از فهرست‌های فارسی آن را اشتباهاً قابلیت Pro معرفی می‌کنند. این ابزار برای تشخیص DOM XSS، آزمون postMessage، یافتن آلودگی پروتوتایپ سمت کلاینت و DOM Clobbering است و رایگان است.

مدل مجوز Burp Professional اشتراکی است، به‌ازای هر کاربر و برای هر دوره — نه خرید یک‌باره. قیمت اعلام‌شده در صفحه‌ی محصول ۴۹۹ دلار برای هر کاربر در سال است و دوره‌های بلندتر با تخفیف عرضه می‌شوند. برای Burp Suite DAST هیچ فهرست قیمت عمومی وجود ندارد؛ PortSwigger می‌گوید اشتراک بر پایه‌ی نیاز مشتری و حجم اسکن تعیین می‌شود. هر عددی که برای نسخه‌ی سازمانی نقل شود، از منبع ثالث یا قدیمی است. جزئیات بیشتر در Burp Suite.

Caido

نسخه‌ی جاری v0.57.0 (۵ ژوئن ۲۰۲۶) که پشتیبانی از WebSocket در Replay، استخراج‌کننده‌های سفارشی و زبان فیلترگذاری StreamQL را افزود. دو واقعیت که باید صریح گفته شوند: Caido متن‌باز نیست — پرسش‌های متداول خودشان می‌گوید محصول متن‌باز نیست و فقط اکوسیستم افزونه‌ها متن‌باز است؛ و این ابزار همچنان پیش از نسخه‌ی ۱٫۰ است و تمام عمرش را در نسخه‌های ۰٫x گذرانده.

مزیت معماری‌اش واقعی است: بک‌اند Rust با رابط وب و تفکیک کلاینت/سرور، که اجازه می‌دهد نمونه را روی یک سرور دور اجرا کنید و با یک کلاینت سبک متصل شوید — در حالی که Burp یک برنامه‌ی دسکتاپ یکپارچه با جاوا است. تمایز دیگرش ارگونومی گردش کار است: Workflows، فیلترگذاری HTTPQL و StreamQL، و Automate به‌عنوان معادل Intruder. لایه‌ی Basic رایگان دائمی (محدود به دو پروژه) است و لایه‌ی Individual حدود ۲۰ دلار در ماه؛ Caido قیمت‌گذاری بومی‌شده بر پایه‌ی قدرت خرید کشورها هم اجرا می‌کند.

مرز مهم: Caido معادلی برای Burp Scanner ندارد و سرویس تشخیص خارج‌ازباند هم‌رده‌ی Collaborator هم ندارد. اگر جایی خواندید «Caido جانشین Burp Pro است»، این برای کسی که به اسکن خودکار یا OAST تکیه دارد نادرست است. جزئیات در Caido.

mitmproxy

نسخه‌ی 12.2.3 با مجوز MIT. جایگاه واقعی‌اش میان‌گیری اسکریپت‌پذیر و بدون رابط گرافیکی است: افزونه‌های پایتون برای بازنویسی خودکار درخواست و پاسخ، خط لوله‌های CI، و ضبط ترافیک اپلیکیشن موبایل. اسکنر و معادل Repeater و Intruder ندارد؛ مکمل Burp و Caido است، نه جانشین آن‌ها.

اسکنرها: مرز دقیق کاری که انجام می‌دهند

Nuclei

نسخه‌ی جاری v3.9.0 (۱۰ ژوئن ۲۰۲۶) با مجوز MIT. ماهیتش را باید دقیق فهمید: Nuclei یک تطبیق‌دهنده‌ی امضای قالب‌محور است، نه اسکنری که منطق را بفهمد. در چه چیزی عالی است؟ تشخیص CVEهای شناخته‌شده، پنل‌ها و فایل‌های افشاشده، پیکربندی‌های نادرست، اعتبارنامه‌ی پیش‌فرض، و بررسی تصاحب — و همه‌ی این‌ها روی فهرست‌های هدف بسیار بزرگ.

در چه چیزی ناتوان است؟ IDOR، نقص منطق کسب‌وکار، و تزریق تازه و ناشناخته. نرخ مثبت کاذبش هم کاملاً تابع کیفیت قالب‌هاست، و اجرای کل مجموعه‌ی قالب‌ها روی یک هدف عملیاتی پرسروصدا و کند است — با -tags و -severity فیلتر کنید.

درباره‌ی تعداد قالب‌ها یک نکته‌ی روش‌شناختی: این عدد هفتگی تغییر می‌کند، پس نقل آن بدون تاریخ بی‌معنی است. آمار قابل استناد: حدود ۱۱٬۹۹۷ فایل قالب در ۸۷۳ دایرکتوری به تاریخ آگوست ۲۰۲۶، شامل ۱٬۴۹۶ قالب اختصاصی آسیب‌پذیری‌های در حال بهره‌جویی شناخته‌شده (KEV) از منابع CISA و VulnCheck. و نکته‌ای که کمتر گفته می‌شود: خود Nuclei هم آسیب‌پذیری داشته — نسخه‌ی v3.8.0 اصلاح دو CVE را منتشر کرد؛ اگر نسخه‌ی قدیمی دارید ارتقا دهید. جزئیات در Nuclei.

Nikto

نسخه‌ی جاری 2.6.0 که نگه‌دارندگان آن را «انتشاری عمده با بهبودهای داخلی چشمگیر» توصیف کرده‌اند: حدود ۱۰٪ اسکن سریع‌تر، یک زبان اختصاصی برای تعریف آزمون‌ها، و افزونه‌های گزارش بازنویسی‌شده.

اما وضعیت واقعی‌اش را باید صریح گفت: Nikto یک اسکنر وب‌سرور قدیمی است. فایل‌ها و CGIهای خطرناک، نسخه‌های قدیمی سرور و پیکربندی‌های نادرست سرور را بررسی می‌کند. بسیار پرنوفه است، هر WAF و IDS آن را بی‌درنگ تشخیص می‌دهد، برنامه‌های مدرن را نمی‌فهمد، با برنامه‌های تک‌صفحه‌ای و احراز هویت و API عملاً کار نمی‌کند، و نرخ مثبت کاذب بالایی دارد. ارتباط آن با آزمون برنامه‌های وب مدرن به‌شدت کاهش یافته است و امروز فقط به‌عنوان یک عبور اولیه‌ی سریع روی زیرساخت قدیمی ارزش دارد.

بهره‌جویی و تحلیل کد

sqlmap

نسخه‌ی ۱٫۱۰ با مجوز GPLv2. پنج تکنیک تزریق را خودکار می‌کند — بولی کور، زمان‌محور کور، خطامحور، UNION و پرس‌وجوهای پشته‌ای — و بیش از ۴۰ پشتیبان پایگاه‌داده را می‌شناسد، از جمله انبارهای داده‌ی ابری مثل Redshift، Snowflake و ClickHouse. اثرانگشت فعال DBMS، شمارش اسکیما و استخراج داده، و در جایی که سطح دسترسی اجازه دهد اجرای دستور سیستم‌عامل را هم انجام می‌دهد.

مرزهایی که باید بدانید: sqlmap به نقطه‌ی تزریقی نیاز دارد که قبلاً شناسایی شده — گردش کار حرفه‌ای، دادن یک درخواست ذخیره‌شده با سوئیچ -r است نه حدس زدن با -u؛ قابلیت‌های تخریبی دارد و باید در یک پروژه با احتیاط محدود شود؛ و در برابر NoSQL و بیشتر گونه‌های تزریق واسطه‌ی ORM بی‌فایده است. جزئیات در sqlmap.

Metasploit — و جایگاه کوچکش در کار وب

شاخه‌ی جاری 6.4.x با مجوز BSD-3-Clause، توسعه‌یافته توسط Rapid7. یک نکته‌ی فنی: Rapid7 هیچ برچسب انتشار روی GitHub منتشر نمی‌کند؛ ردیابی نسخه از طریق بیلدهای شبانه و نصب‌کننده انجام می‌شود، پس نقل یک برچسب انتشار GitHub برای این ابزار نادرست است.

و صریح بگوییم: Metasploit یک ابزار اصلی تست برنامه‌ی وب نیست. این یک چارچوب بهره‌جویی و پس‌ازبهره‌جویی شبکه و میزبان است و در یک پروژه‌ی وب سه کاربرد باریک دارد: بهره‌جویی از یک CVE شناخته‌شده در پشته‌ی زیرین، تولید بار حمله و شنونده برای اجرای کدی که خودتان دستی پیدا کرده‌اید، و پس‌ازبهره‌جویی. ماژول‌های اسکنر وب آن (auxiliary/scanner/http/*) به‌مراتب از Burp و ZAP و Nuclei ضعیف‌ترند. جزئیات در Metasploit.

تحلیل ایستا: Semgrep، Opengrep و CodeQL

Semgrep (نسخه‌ی v1.165.0، ۳ ژوئن ۲۰۲۶) تحلیل ایستای الگومحور و آگاه به ساخت درختی کد است، با قواعد YAML خوانا. اما مدل مجوزش را باید دقیق گفت، چون رایج‌ترین اشتباه همین‌جاست: تنها Semgrep Community Edition متن‌باز است، با مجوز LGPL 2.1. محصولات Semgrep Code، Semgrep Secrets، Semgrep Supply Chain و پلتفرم AppSec آن اختصاصی هستند. قواعد مخزن رسمی هم دو دسته‌اند: قواعد نگه‌داری‌شده توسط Semgrep زیر مجوز «Semgrep Rules License v.1.0» قرار دارند که فقط برای استفاده‌ی داخلی کسب‌وکار مجاز است و صریحاً می‌گوید فروشندگان نمی‌توانند آن‌ها را در محصولات یا سرویس‌های رقیب به کار ببرند.

همین سخت‌گیری مجوزی در ۲۰۲۴ به یک انشعاب منجر شد: Opengrep، که Endor Labs با همراهی چند شرکت امنیتی دیگر راه انداخت تا یک موتور SAST کاملاً متن‌باز را احیا کند. هر بررسی متعادلی از SAST متن‌باز در ۲۰۲۶ باید Opengrep را نام ببرد.

CodeQL معماری قوی‌تری دارد: کد را به یک پایگاه‌داده‌ی رابطه‌ای کامپایل می‌کنید و با زبان QL روی آن پرس‌وجو می‌زنید، که ردیابی جریان داده در سراسر برنامه را ممکن می‌کند. اما مجوزش را دقیق بخوانید: CodeQL برای پژوهش و متن‌باز رایگان است و تحلیل خودکار کد خصوصی و تجاری نیازمند ترتیبات تجاری است.

نکته‌ی مشترک همه‌ی SASTها: تزریق و سوءاستفاده از رمزنگاری را خوب پیدا می‌کنند و نقص‌های کنترل دسترسی و منطق کسب‌وکار را عملاً هیچ — که دقیقاً همان جایی است که پرتأثیرترین یافته‌های وب زندگی می‌کنند. مفاهیم در بازبینی کد منبع.

سقف ابزار: چه چیزی را هیچ ابزاری پیدا نمی‌کند

این بخش را باید هر کسی که برای «ابزار امنیت سایت» بودجه می‌گذارد بخواند. سه خانواده‌ی آسیب‌پذیری وجود دارد که هیچ ابزاری — رایگان یا گران — قابل اتکا پیدا نمی‌کند:

  1. کنترل دسترسی شکسته و IDOR. رتبه‌ی یک OWASP Top 10:2025 و بر پایه‌ی داده‌ی همین نسخه در ۱۰۰٪ برنامه‌های آزموده‌شده. دلیل ساختاری: ابزار نمی‌داند چه چیزی باید مجاز باشد؛ وقتی درخواستی پاسخ ۲۰۰ می‌گیرد، اسکنر نمی‌تواند تشخیص دهد این پاسخ درست است یا نشت داده. افزونه‌های خانواده‌ی Autorize در Burp مقایسه را تسهیل می‌کنند، اما تصمیم نهایی انسانی است.
  2. نقص منطق کسب‌وکار. هیچ ابزاری نمی‌داند گردش کار درست در کسب‌وکار شما چیست. دستکاری قیمت، پرش از مرحله، سوءاستفاده از کد تخفیف — همه به فهم فرایند نیاز دارند.
  3. شرایط مسابقه. هر درخواست به‌تنهایی کاملاً مجاز است؛ مشکل در هم‌زمانی است. ابزار اختصاصی این کار — قابلیت «Send group in parallel» در Burp Repeater که حمله‌ی تک‌بسته را روی HTTP/2 اجرا می‌کند — اجرای آزمون را ممکن می‌کند، اما پیدا کردن جای مناسب برای آزمون کار آزمونگر است.

پس نتیجه‌ی عملی: از ابزارها برای بستن یافته‌های ارزان استفاده کنید — و آن‌ها را واقعاً ببندید، چون در محدوده‌ی خودشان مفیدند. اما «هیچ یافته‌ای در خروجی ابزار» را با «امن است» اشتباه نگیرید. تفاوت این دو در بررسی امنیت سایت و انواع تست نفوذ بیشتر باز شده است.

یک نکته‌ی پایانی درباره‌ی دو نامی که مدام در فهرست‌های ابزار امنیتی می‌آیند. Postman یک ابزار توسعه و تضمین کیفیت است که برای کار امنیتی به‌کار گرفته می‌شود، نه یک ابزار امنیتی: هیچ قابلیت تشخیص آسیب‌پذیری ندارد و نقش واقعی‌اش تولید یک Postman Collection برای دادن به اسکنر Burp است. Wireshark (نسخه‌ی پایدار ۴٫۶٫۸، مجوز GPLv2) هم برای آزمون HTTPS وب معمولاً ابزار درستی نیست، چون پروکسی میان‌گیر ترافیک رمزگشایی‌شده را با قابلیت ویرایش می‌دهد و Wireshark این را نمی‌دهد؛ جایگاه واقعی‌اش اشکال‌زدایی دست‌دهی TLS، پروتکل‌های غیر HTTP، و کلاینت‌هایی است که پروکسی سیستم را نادیده می‌گیرند یا گواهی را پین می‌کنند.

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

پرسش‌های متداول

بهترین ابزار امنیت سایت چیست؟

ابزار واحدی وجود ندارد، چون پنج کار متفاوت لازم است: شناسایی دارایی، کشف مسیر، اسکن مسائل شناخته‌شده، آزمون دستی با پروکسی، و تحلیل کد. برای مالک سایت، ترکیب رایگان کارآمد این است: subfinder و httpx برای دارایی‌ها، Nuclei برای مسائل شناخته‌شده، ZAP برای اسکن پویا، و testssl.sh برای TLS. آزمون دستی با پروکسی به مهارت انسانی نیاز دارد نه فقط ابزار.

چرا نباید بگوییم OWASP ZAP؟

چون این نام منسوخ است. پروژه در آگوست ۲۰۲۳ به Software Security Project منتقل شد و در سپتامبر ۲۰۲۳ از OWASP جدا شد؛ در سپتامبر ۲۰۲۴ هم با Checkmarx همراه شد. نام درست «ZAP» یا «ZAP by Checkmarx» است و خود پروژه صفحه‌ای دارد که از مردم می‌خواهد دیگر نام قدیمی را به کار نبرند. نسخه‌ی جاری ZAP 2.17.0 است.

نسخه‌ی رایگان Burp Suite برای تست امنیت کافی است؟

برای کار دستی تا حد خوبی بله: پروکسی، Repeater، Decoder، Comparer و DOM Invader (که برخلاف تصور رایج در نسخه‌ی رایگان هم هست) در دسترس‌اند. اما نسخه‌ی Community هیچ اسکنری ندارد، Collaborator ندارد، Intruder آن با محدودیت شدید نرخ عملاً برای فازینگ بی‌فایده است، و امکان ذخیره‌ی پروژه هم ندارد. برای فازینگ از ffuf و برای اسکن پویای رایگان از ZAP استفاده کنید.

Caido بهتر از Burp است؟

در گردش کار دستی مزیت‌های واقعی دارد: معماری کلاینت/سرور که اجرای نمونه روی سرور دور را ممکن می‌کند، Workflows، و زبان‌های فیلترگذاری HTTPQL و StreamQL. اما دو واقعیت را باید دانست: Caido متن‌باز نیست و همچنان پیش از نسخه‌ی ۱٫۰ است؛ و معادلی برای Burp Scanner و سرویس OAST هم‌رده‌ی Collaborator ندارد. برای کسی که به اسکن خودکار تکیه دارد، جانشین Burp Pro نیست.

آیا ابزار رایگان می‌تواند همه‌ی آسیب‌پذیری‌های سایت را پیدا کند؟

نه — و این محدودیت رایگان بودن نیست، محدودیت خودکار بودن است. هیچ ابزاری، رایگان یا گران، کنترل دسترسی شکسته و IDOR، نقص منطق کسب‌وکار و شرایط مسابقه را قابل اتکا پیدا نمی‌کند، چون ابزار نمی‌داند چه چیزی باید مجاز باشد. ابزارها مسائل شناخته‌شده و پیکربندی نادرست را پیدا می‌کنند، که دسته‌ی مهم اما ارزان‌تری است.

آیا Nikto و Metasploit ابزارهای اصلی تست امنیت وب هستند؟

نه. Nikto یک اسکنر وب‌سرور قدیمی است: پرنوفه، با مثبت کاذب بالا، و نابینا نسبت به برنامه‌های تک‌صفحه‌ای و API — کاربردش امروز عبور اولیه‌ی سریع روی زیرساخت قدیمی است. Metasploit هم چارچوب بهره‌جویی شبکه و میزبان است و در کار وب فقط سه کاربرد باریک دارد: بهره‌جویی از CVE شناخته‌شده‌ی پشته، تولید بار حمله و شنونده، و پس‌ازبهره‌جویی.

محمدرضا مقدم
WRITTEN BY

محمدرضا مقدم

توسعه‌دهنده ابزار

مغز خودکارسازی تیم؛ ابزارها و زیرساخت داخلی پی‌هانتر را می‌سازد تا اسکن و گزارش‌گیری سریع‌تر و دقیق‌تر انجام شود.

PENTEST

ابزارهای تست نفوذ: معرفی و راهنمای انتخاب

ادامه مطلب ←
WEB

بررسی امنیت سایت: گام‌به‌گام با استاندارد OWASP

ادامه مطلب ←
WEB

باگ‌های سایت: انواع، پیدا کردن و رفع

ادامه مطلب ←