# تست نفوذ (Pentest) چیست؟ مراحل، انواع و آماده‌شدن سایت

- منبع: https://di9.ir/blog/%d8%aa%d8%b3%d8%aa-%d9%86%d9%81%d9%88%d8%b0-%da%86%db%8c%d8%b3%d8%aa
- سایت: دیباگ
- نویسنده: danidiba
- تاریخ انتشار: 2026-10-09
- آخرین به‌روزرسانی: 2026-10-09

**تست نفوذ** (Penetration Testing یا Pentest) حمله‌ای کنترل‌شده و مجاز به سایت، اپلیکیشن یا شبکه‌ی خودتان است که متخصص امنیت انجام می‌دهد تا پیش از مهاجم واقعی، ضعف‌های قابل سوءاستفاده را پیدا کند و راه رفعشان را گزارش دهد. فرقش با هک واقعی دو چیز است: **اجازه‌ی کتبی** و **گزارش**.

یک مثال ملموس: فروشگاهی وردپرسی فرم ورود، درگاه پرداخت و پنل مشتری دارد. تست‌کننده متوجه می‌شود یک افزونه‌ی قدیمی اجازه می‌دهد کاربر عادی فایل آپلود کند و با همان فایل روی سرور فرمان اجرا کند. در گزارش، مسیر دقیق حمله، شدت خطر و راه رفع (به‌روزرسانی یا حذف افزونه، محدودکردن نوع فایل) را می‌نویسد. صاحب سایت ضعف را قبل از اینکه کسی سوءاستفاده کند می‌بندد. تعریف کوتاه را در [تست نفوذ در واژه‌نامه](/blog/واژه/تست-نفوذ) ببینید.

## تست نفوذ با اسکن آسیب‌پذیری و باگ‌بانتی چه فرقی دارد؟#

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

روشچه کسی انجام می‌دهدعمقخروجیکی مناسب استاسکن آسیب‌پذیریابزار خودکارسطحی و گستردهفهرست بلند، با هشدار نادرستبه‌طور منظم و مداومتست نفوذمتخصص یا تیم، در بازه‌ی مشخصعمیقگزارش تأییدشده با اولویتسالانه و پس از تغییر بزرگ[باگ‌بانتی](/blog/واژه/باگ-بانتی)پژوهشگران مستقل، مداوممتغیرگزارش تک‌تک یافته‌هاوقتی تیم امنیت آماده‌ی پاسخ داریدتیم قرمز (Red Team)تیم تهاجمیبسیار عمیق و هدف‌محورسنجش توان شناسایی و واکنش سازمانسازمان‌های بالغ از نظر امنیتی

اسکن خودکار می‌گوید «این نسخه [آسیب‌پذیری](/blog/واژه/آسیب-پذیری) شناخته‌شده دارد». تست نفوذ می‌گوید «با این آسیب‌پذیری و آن تنظیم اشتباه، می‌شود به دیتابیس مشتری‌ها رسید».

## مراحل تست نفوذ#

روش‌شناسی‌های شناخته‌شده‌ای مثل راهنمای آزمون OWASP و PTES جزئیات متفاوتی دارند، ولی اسکلت کار تقریباً همیشه این است:

- **برنامه‌ریزی و تعیین محدوده (Scope):** چه چیزی تست می‌شود، چه چیزی نه، در چه بازه‌ای، از چه آدرس‌هایی، و چه کسی در صورت مشکل پاسخ‌گوست. همه مکتوب و امضاشده.

- **شناسایی (Reconnaissance):** جمع‌کردن اطلاعات عمومی: زیردامنه‌ها، فناوری‌ها، نسخه‌ها، فرم‌ها و نقطه‌های ورودی.

- **اسکن و تحلیل:** پیداکردن پورت‌ها و سرویس‌های باز و ضعف‌های احتمالی، با ابزار و بررسی دستی.

- **بهره‌برداری (Exploitation):** تلاش کنترل‌شده برای سوءاستفاده از ضعف‌ها تا ثابت شود واقعی‌اند؛ مثلاً [تزریق SQL](/blog/واژه/تزریق-sql)، [XSS](/blog/واژه/xss) یا دورزدن احراز هویت.

- **پس از نفوذ:** سنجش اینکه از نقطه‌ی نفوذ تا کجا می‌شود پیش رفت و به چه داده‌ای رسید، بدون آسیب‌زدن.

- **گزارش:** شرح هر یافته، شدت، شواهد، مراحل بازتولید و راه رفع، به‌علاوه‌ی خلاصه‌ای برای مدیران.

- **رفع و تست مجدد:** شما ضعف‌ها را می‌بندید و تست‌کننده تأیید می‌کند که واقعاً بسته شده‌اند.

## انواع تست نفوذ#

### بر اساس میزان اطلاعات#

- **جعبه سیاه (Black Box):** تست‌کننده هیچ اطلاعات داخلی ندارد، درست مثل یک مهاجم بیرونی. واقع‌گرایانه است ولی وقت زیادی صرف شناسایی می‌شود.

- **جعبه سفید (White Box):** کد منبع، معماری و حساب‌های کاربری در اختیار تست‌کننده است. عمیق‌ترین پوشش را در زمان محدود می‌دهد.

- **جعبه خاکستری (Gray Box):** اطلاعات نسبی، مثلاً یک حساب کاربری عادی. برای بیشتر سایت‌ها تعادل خوبی است.

### بر اساس هدف#

- **اپلیکیشن وب:** فرم‌ها، ورود، جلسه‌ها، API و منطق کسب‌وکار. رایج‌ترین نوع برای صاحبان سایت.

- **API و اپ موبایل:** نقطه‌های پایانی، توکن‌ها و داده‌ای که اپ ذخیره می‌کند.

- **شبکه و زیرساخت:** سرورها، پورت‌ها، [فایروال](/blog/واژه/فایروال) و سرویس‌ها، از بیرون یا از داخل شبکه.

- **مهندسی اجتماعی:** سنجش واکنش کارکنان به [فیشینگ](/blog/واژه/فیشینگ) و ترفندهای مشابه، فقط با توافق روشن.

## سایت را چطور برای تست نفوذ آماده کنیم؟#

تست نفوذ گران‌تر از آن است که وقتش صرف ضعف‌های ساده شود. پیش از دعوت از متخصص، کارهای پایه را انجام دهید:

- **بهداشت پایه را درست کنید:** [چک‌لیست امنیت وردپرس](/blog/چک-لیست-امنیت-وردپرس) را مرور کنید؛ هسته، افزونه‌ها و قالب به‌روز، افزونه‌های بی‌استفاده حذف، رمزهای قوی و ورود دومرحله‌ای فعال.

- **کد سفارشی را خودتان مرور کنید:** اگر افزونه یا تم اختصاصی دارید، الگوهای رایج در [امنیت کد PHP](/blog/امنیت-کد-php) را بررسی کنید: کوئری آماده، escape خروجی، nonce و بررسی دسترسی.

- **بکاپ کامل و آزموده بگیرید:** حتی تست محتاطانه ممکن است داده‌ی آزمایشی بسازد یا سرویسی را کند کند. [بکاپ خودکار وردپرس](/blog/بکاپ-خودکار-وردپرس) و بازگردانی آن را پیش از شروع امتحان کنید.

- **ترجیحاً نسخه‌ی آزمایشی (Staging) بدهید:** کپی دقیق سایت اصلی، تا تست روی مشتری‌های واقعی اثر نگذارد. اگر تست روی سایت اصلی است، زمان کم‌ترافیک را انتخاب کنید.

- **به هاست یا ارائه‌دهنده‌ی ابری خبر دهید:** بعضی‌ها پیش از تست اجازه یا اطلاع می‌خواهند، وگرنه ممکن است ترافیک تست را حمله تشخیص دهند و مسدودش کنند.

- **حساب‌های آزمایشی بسازید:** برای هر نقش (مشتری، نویسنده، مدیر فروشگاه) یک حساب جدا، نه حساب واقعی.

- **قرارداد را دقیق بنویسید:** محدوده، زمان، روش‌های ممنوع (مثلاً حمله‌ی از کاراندازی سرویس)، راه تماس اضطراری و محرمانه‌بودن گزارش.

## تست‌کننده را چطور انتخاب کنیم؟#

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

- **نمونه‌ی گزارش:** یک گزارش نمونه با اطلاعات حذف‌شده بخواهید. اگر فقط خروجی خام ابزار است، تست نفوذ واقعی نمی‌گیرید.

- **روش کار:** بپرسید بر اساس کدام روش‌شناسی کار می‌کنند و چه بخشی دستی و چه بخشی خودکار است.

- **تجربه‌ی مرتبط:** کسی که با وردپرس، لاراول یا API شبیه سیستم شما کار کرده، ضعف‌های رایج آن را سریع‌تر پیدا می‌کند.

- **تست مجدد:** آیا بررسی دوباره پس از رفع ضعف‌ها در قرارداد هست؟

- **محرمانگی:** گزارش و داده‌هایی که در طول تست دیده می‌شود چطور نگه‌داری و پس از پایان کار پاک می‌شود؟

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

## گزارش را چطور بخوانیم و با آن چه کنیم؟#

گزارش خوب برای هر یافته شدت (بحرانی، بالا، متوسط، پایین)، شواهد، مراحل بازتولید و راه رفع دارد. یافته‌های بحرانی و بالا را فوری ببندید، بقیه را زمان‌بندی کنید و بعد تست مجدد بخواهید. اگر گزارش نشان داد سایت قبلاً آلوده شده، روند [پاکسازی سایت وردپرس هک‌شده](/blog/پاکسازی-سایت-وردپرس-هک-شده) را دنبال کنید.

## اشتباه‌های رایج#

- **تست بدون اجازه‌ی کتبی:** حتی روی سایتی که فکر می‌کنید «مال خودتان» است ولی روی سرور دیگری میزبانی می‌شود.

- **اکتفا به اسکن خودکار:** گزارش ابزار را تست نفوذ ندانید.

- **محدوده‌ی خیلی تنگ:** کنارگذاشتن API، زیردامنه یا پنل مدیریت یعنی همان‌جا که آسیب‌پذیرتر است تست نمی‌شود.

- **بایگانی‌کردن گزارش:** تست نفوذ بدون رفع و تست مجدد فقط هزینه است.

- **یک‌بار برای همیشه:** هر به‌روزرسانی و افزونه‌ی تازه می‌تواند ضعف تازه بیاورد.

## خلاصه#

- تست نفوذ حمله‌ی کنترل‌شده و مجاز است تا ضعف‌ها پیش از هکرها پیدا شوند.

- اسکن خودکار فهرست می‌دهد؛ تست نفوذ تأیید می‌کند و اثر واقعی را نشان می‌دهد.

- مراحل اصلی: محدوده، شناسایی، اسکن، بهره‌برداری، پس از نفوذ، گزارش و تست مجدد.

- جعبه سیاه، سفید و خاکستری از نظر میزان اطلاعات تست‌کننده فرق دارند.

- پیش از تست، به‌روزرسانی، بکاپ، نسخه‌ی آزمایشی، حساب تست و قرارداد مکتوب را آماده کنید.