Skip to content

سوالات و پاسخ های مصاحبه تست نفوذ وب

Notifications You must be signed in to change notification settings

soheilsec/WAP-Interview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation


Logo
Telegram Channel Youtube

راهنمای مصاحبه تست نفوذ وب: سوالات و پاسخ‌های کلیدی

مقدمه

در دنیای امروزی، امنیت وب و تست نفوذ به یکی از اصولی‌ترین قسمت‌های تضمین امنیت سیستم‌ها و اطلاعات تبدیل شده‌اند. اگر به دنبال شروع یک مسیر حرفه‌ای در زمینه تست نفوذ و امنیت وب هستید، مصاحبه‌ی شغلی ابتدایی می‌تواند گامی مهم در این مسیر باشد. در این راهنما، به شما تنها کمک نمی‌کنیم تا با سوالات معمولی مصاحبه آشنا شوید، بلکه پاسخ‌هایی که از شما انتظار می‌رود را نیز ارائه می‌دهیم. با مطالعه‌ی این مقاله، به بهبود آمادگی خود برای مصاحبه و ورود به دنیای تست نفوذ وب نزدیک‌تر خواهید شد. از مباحث فنی تا مهارت‌های ارتباطی، همه‌ی جنبه‌های مهم را پوشش می‌دهیم تا شما به خود اطمینان داشته باشید و در مصاحبه بهترین عملکرد را ارائه دهید.

توجه بفرمایید کلیه جواب هایی که من دادم پیشنهادی می باشد :»)

سوالات سطح مبتدی

1. تست نفوذ وب چیست و طی تست اهداف اصلی کدام موارد هستند؟

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


2. تفاوت بین روش تست جعبه سیاه، جعبه خاکستری و جعبه سفید را تست نفوذ وب چیست؟

بلک باکس blackbox یا جعبه سیاه نوعی از تست نفوذ می باشد که هیچ اطلاعاتی در مورد هدف وجود ندارد

گری باکس gray box یا جعبه خاکستری گاهی اوقات پیش می آید یک سری اطلاعات اولیه مثل یوزر و پسورد پنل یا بایپس کردن waf را برای شما تسهیل می کنند.

وایت باکس یا whitebox یا جعبه سفید نوع ارزیابی که شما به کدهای دسترسی دارید و می توانید آسیب پذیری را از کد پیدا کنید.


3. قبل از شروع تست نفوذ به چه صورت Scope را مشخص می کنید؟

مشخص کردن Scope قبل از قرارداد فی ما بین می باشد که ما بین شرکت تست نفوذ و کارفرما بسته می شود و در این قرار داد دامنه ها ساب دامنه و ای پی هایی که باید تست شوند ذکر شده است.


4. 10 آسیب پذیری OWASP چیست؟ کدام آسیب پذیری ها را کشف کردید چند نمونه ذکر کنید.

لیستی از مهم ترین یا خطرناک ترین آسیب پذیری ها می باشد. بله SQL injection ، XSS ، broken authentication.


5. فرض کنید سایتی آسیب پذیری SQLI دارد چه مراحلی برای کشف و اکسپلویت انجام می دهید چند ابزار نام ببرید.

اول به صورت دستی چک میکنم از تک کت ‘ و operand های sql استفاده میکنم برای تشخیص اگر error base باشد. اگر time base و blind باشد از burp و sqlmap کمک میکنم

پیلودهای SQLI برای تشخیص آسیب پذیر بودن یا نبودن را تست میکنم معمولا برای اینکار از intruder burp suite استفاده می کنم تا سریع تر بررسی کنم.

همچنین از SQLMAP برای تست کردن استفاده می کنم و پارامتر آسیب پذیر را با * مشخص میکنم.


6. با SQLMAP آشنا هستید؟ کار tamper چیست؟ چند تا Tamper را نام ببرید.

بله، tamper یک سری اسکریپت می باشد که نوع درخواست ما را تغییر می دهد تا web application firewall آن را بلاک نکند Between,base64encode,charencode,space2randomblan


7. حمله xss چیست؟ آیا می توانید نحوه جلوگیری از این آسیب پذیری را بگویید؟

حمله ای است که هکر اسکریپت مخرب را روی صفحه وبی که یوزرها آن را مشاهده می کنند تزریق کند.برای جلوگیری باید input validation و output encode داشت.


8. حمله CSRF چیست؟ چگونه کشف می کنید؟ چگونه می توان از آن جلوگیری کرد؟

یک حمله که هکر برازر browser یوزر را مجاب می کند یک عملیات ناخواسته را انجام دهد مثل تعویض پسورد.برای تست باید یک اسکریپت برای یک عملیات نوشت و تست کرد. جهت جلوگیری از چندین روش میشه استفاده کرد: استفاده از

csrf token

Same site cookies

Check referer header

و ...


9. چند روش برای بایپس آپلودر بلد هستید؟ هر کدام را شرح دهید.

File extension change
Shell.php1
Mime type change
image/jpeg
Case sensitive change
shell.Php1
Htaccess
AddType application/x-httpd-php .shell

10. مشکل misconfiguration در وب چیست؟ چگونه کشف می کنید؟

وقتی پسورد دیفالت یا ضعیف داشته باشه برنامه آپدیت شده نباشند یا بشه بنر گربینگ کرد سرویس ها اینا همه misconfiguration security issues محسوب می شوند. برای چک کردن این موارد به صورت دستی و ابزارهای اتومات میشه چک کرد. Nmap hydra burp suite و...


11. حمله Clickjacking چیست؟ نحوه جلوگیری کردن آن را در صورتی که می دانید شرح دهید.

یک حمله می باشد که هکر یک یک المنت روی صفحه قرار دارد برای فریب که در صورت که کلیک کرد عملی بدون authentication authorization انجام شود

برای جلوگیری از این حمله می توان از csp یا x-frame option header استفاده می کنند.


12. چگونه مکانیسم های User Authentication و Session Management را تست می کنید؟

برای تست user authentication تمامی متدهای احراز هویت مختلف تست می کنم تا چک کنم ببینم بدون احراز هویت امکان دسترسی وجود دارد یا نه.

برای چک کردن session management از توکن های تولید شده استفاده می کنم و چک می کنم ببینم expire می شند یا نه اگر expire بشند قابل استفاده هستند یا نه


13. در فرآیند تست نفوذ وب از چه ابزارهایی در چه مرحله ای استفاده می کنید؟

ابزارهای Burp suite, sqlmap, Nikto. Acunetix, Netsparker


14. آسیب پذیری IDOR چیست؟ چگونه آن را کشف و اکسپلویت می کنید؟

آسیب پذیری که موجب افشا شدن اطلاعات یا دسترسی بدون اجازه به اطلاعات را می دهد.

یکی از روش ها برای چک تو تنظیمات پروفایل، صفحه سفارش می گردم و بعد شروع به تغییر id می کنم تا ببینم توانایی دسترسی به پروفایل ها یا اطلاعات دیگران را دارم یا نه که اگر بتونم ادمین بشم privilege escalation رخ داده است.


15. آسیب پذیری RCE چیست؟ چه زمانی رخ می دهد؟ چگونه آن را کشف می کنید؟ به چه نحو اکسپلویت میکنید؟

آسیب پذیری که اجازه تزریق کد را به سرور می دهد و کدها مستقیم روی سرور اجرا میشود وقتی که ورودی چک نشود و همان ورودی مستقیم روی سرور اجرا شود. معمولا input ها را چک میکنم ولی بیشتر جاهای که اپلودر دارد شل اپلود را چک میکنم.


16. مشکل امنیتی Sensitive Data Exposure چیست ؟ با چه تست هایی چک می کنید؟

وقتی اطلاعات از قبیل پسورد اطلاعات شخصی کاربران مثل عکس پاسپورت بدون احراز هویت و تعیین سطح دسترسی در دسترس هست.

برای تست code review میکنم، فایل های روی سرور را فاز میکنم، API چک میکنم، به دنبال elastic میگردم اگر بدون پسورد یا دیفالت پسورد بود بتونم دسترسی به دیتا پیدا کنم.


17. عبارت Input Validation توضیح دهید؟ چگونه دور می زنید؟

معمولا به دو شکل سمت کلاینت و سرور

برای کلاینت از سمت browser می توان راحت دور زد

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


18. حمله XXE چیست؟ چگونه می توان جلوگیری کرد؟

حمله Xml external entity نوعی از حمله می باشد به علت آسیب پذیری پارسر xml می باشد که توسط آن می توان به اطلاعات دسترسی داشت یا درخواست بدون دسترسی را انجام داد.

تکنیک های Input validation, white list, update xml parser جزوری از روش های جلوگیری می باشد.


19. نحوه تست روی Restful API ها را شرح دهید.

برای تست API موارد احراز هویت، input validation، output encoding تا ببینم error handling دارد یا اطلاعات سرور را می دهد همچنین کلیه حملات sqli xss csrf را چک می کنم.

20. حمله SSRF چیست؟ چگونه می توان جلوی آن را گرفت؟

حمله Server side request forgery یک حمله هست که به هکر اجازه می دهد به یک سرور داخلی یا یک سرور خارجی دیگر درخواست ایجاد کند. برای جلوگیری از آن روش های input validation whitelisting و محدود کردن درخواست بین سرورها را انجام می دهم.


21. آسیب پذیری های متداول Business Logic را شرح دهید. چطور تست می گیرید؟

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


22. برای گزارش نویسی چه مواردی را در نظر می گیرید؟

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


سوالات سطح حرفه ای

1. تجربه شرکت در پروژه Large Scale تست نفوذ را داشتید؟ به چه صورت این پروژه را مدیریت کردید؟

بله، برنامه ریزی زمان و تخصص برای درک معماری، سرویس ها، حملات امکان پذیر و برای سرعت بخشیدن اول تمرکز میزارم به حساس ترین قسمت ها در معماری و پیاده سازی ان حملات و تمامی فعالیت ها را اتومات با اسکریپت انجام می دهم البته تا جایی که امکان پذیر باشد!


2. حمله Blind SQLI و NOSQL Injection چیست؟ روش های شناسایی و اکسپلویت آن را نام ببرید.

حملات injection از نوع blind و nosql سطح پیچیده تری از sqli هستند معمولا برای تست blind از Boolean blind استفاده میکنم و همچنین اگر time based جواب بدهد از آن استفاده می کنم.

حمله Nosql injection بخطر اینکه ساختار دیتابیس فرق دارد نحوه اکسپلویت ها با هم فرق دارد و از پیلود های دیگر برای تست آن باید استفاده کنم.

برای blind sqli از sqlmap فقط برای دیتابیس traditional بکار میاد.

برای nosql injection از nosqlmap، arachni و nuclei استفاده میکنم.


3. در طول پروژهایتان به WAF برخوردید؟ واکنش شما چی بوده است؟ آیا توانستید بایپس کنید؟ به چه صورت؟

بله زیاد، معمولا سعی می کنم تکنیک های character encoding، obfuscation یا http request smuggling را تست کنم اگر این متدها را جواب ندهد که معمولا جواب می دهد بخش های دیگر چک میکنم وقت زیاد روی اون پرتال خاص نمیزارم سعی میکنم روی sub های بدون waf تایم بزارم


4. آسیب پذیری deserialization چیست؟ چگونه کشف می کنید؟ نحوه اکسپلویت کردن آن را شرح دهید.

عملیات Serialize کردن و deserialize کردن روی object ها اولی به معنای تبدیل متن به json xml و بعدی برعکس اگر هکر بتواند پیلود مخرب تزریق کند می تواند حملات RCE, injection, privilege escalation یا data tampering انجام دهد. ابزار Owasp dependency check یکی از ابزارها برای تست می باشد.همچنین در صورت دسترسی به کد از SonarQube استفاده می کنم.


5. آیا تجربه تست نفوذ روی برنامه های وب سمت کلاینتی مثل SPA Angular React را داشتید؟ روند تستتان را شرح دهید.

معمولا وقتی با SPA مواجه میشم به صورت دستی و با ابزار تست ها رو انجام میدهم

در صورت دسترسی به کد به دنبال input validation، authentication، data storage و library میگردم و تمرکز روی آسیب پذیری های xss csrf هست

ابزارهایی که به کار میبرم owasp zap و Arachni هست.


6. تجربه خود را در فرآیند تست نفوذ API بر اساس OWASP Top 10 شرح دهید.

برای ارزیابی API از ابزارهای postman یا burp suite استفاده می کنم. در مرحله اول endpoint را کشف می کنم سپس پارامترها و ارزیابی احراز هویت چک میکنم. بعد از این موارد سراغ این می روم که آیا تعیین سطح دسترسی انجام می شود یا نه . بیشتر این موارد با fuzzing کردن تست می کنم.


7. از چه روش هایی برای کشف Race conditions استفاده می کنید؟

برای اینکار من همیشه چندین یوزر میسازم و چند پروفایل را با firefox میسازم و همزمان چک می گیرم فرآیند ها رو تا بتوانم race conditions بدست بیاورم.


9. چگونه 2FA و MFA دور می خورند؟ در یک سناریو شرح دهید.

برای دور زدن معمولا از user enumeration و brute force و exploit logic falws روی احراز هویت را تست میگیرم.

ابزار evilginx2 یکی از ابزارها برای اینکار هست اگر از شما اسم ابزار پرسید.


10. تجربه تست نفوذ روی معماری microservices را داشتید؟ با چه چالشهایی مواجه شده بودید؟

در معماری میکروسرویس من هر کدام به صورت جداگانه ارزیابی می کنم چون نوع سرویس دادن آن ها با هم متفاوت است بالطبع امکان وجود آسیب پذیری روی هر کدام وجود دارد. تعداد میکروسرویس بعضی مواقع بسیار زیاد بوده ولی همه تک به تک چک کردم و روی چند تا اول آسیب پذیری در نیورده بودم ولی بعد از چند آسیب پذیری در آوردم.


11. تجربه تست نفوذ روی Serverless Application ها مثل AWS Lambda را داشتید؟

بله مواردی که چک میکنم permission ، IAM roles و بررسی روی اینکه داده های حساس افشا می کنه یا نه


12. برای تست نفوذ API های منطبق بر GraphQL از چه روش هایی استفاده می کنید؟ چطور آسیب پذیری ها که کشف کردید را چک کردید؟

من اسکما GraphQL را بررسی میکنم سپس حملات injection و تعیین سطح دسترسی و access control را چک میکنم. نکته ممکنه بپرسه Access control با authorization مگه فرق داره؟ خود Access control شامل identification authentication و authorization میشه ولی خود authorization زیر مجموعه Access control گیج نشید!


13. آیا به کنترل های امنیتی سمت کلاینت برخوردید چگونه دور زدید؟

من سمت کلاینت ترافیک شبکه را چک می کنم و درخواست را با debugging tools جهت دور زدن تغییر می دهم یا از burp suite برای چک کردن دور زدن آن ها استفاده می کنم.


14. تجربه ای روی Business Email Compromise دارید؟

بله وقتی از یک یوزر دامین معتبر پیدا می کنم برای privilege escalation یا دسترسی به یوزرهای دیگه سعی می کنم از طرف اون یوزر به کارمندهای دیگه میل بفرستم درخواست اجرا برنامه یا اطلاعات حساس کنم بیش از 70 درصد مواقع موفق بودم چون اصلا کسی دابل چک نکرده و اون 30 درصد ایباکس ایمیل چک نکردند!


15. چند نمونه از حملاتی که می توان روی XXE پیاده سازی کرد را شرح دهید.

از پیلودهای xxe برای فرخوانی dtd یا Document Type Definition استفاده می کنم تا ببینم اطلاعات حساس را به من می دهد یا ایا می توانم دستکاریش بکنم یا نه.


16. آپلودر را چگونه تست می کنید؟ روش های تست بایپس آپلودرتان را شرح دهید.

File extension change
Shell.php1
Shell.jpg.php
Shell.php%00.jpg
Shell.php:.jpg
Shell.php;.jpg
Mime type change
image/jpeg
Case sensitive change
shell.Php1
Htaccess
AddType application/x-httpd-php .shell

17. چگونه امنیت Websocket در برنامه های وب تست می کنید؟

من برای تست websocket از fuzzing استفاده می کنم تا ببینم امکان injection یا دسترسی غیر مجاز وجود دارد یا نه. برای تست از ابزارهای burp suite یا owasp zap استفاده می کنم


18. روش های تستتان برای کشف IDOR را شرح دهید

یکی از روش ها برای چک تو تنظیمات پروفایل، صفحه سفارش می گردم و بعد شروع به تغییر id می کنم تا ببینم توانایی دسترسی به پروفایل ها یا اطلاعات دیگران را دارم یا نه که اگر بتونم ادمین بشم privilege escalation رخ داده است.

من به صورت دستی و یا با اسکریپت با توجه به حجم کار تست را انجام می دهم.


19. آیا روی CMS خاصی تست نفوذ کردید چه مواردی را تست کردید؟

من تمرکز را روی افزونه های cms میزارم چون بیشترین آسیب پذیری ها رو سمت extension ها پیدا کردم تا core cms و با Waplyzer extension را پیدا می کنم و با توجه به نوع ورژن اول آسیب پذیری عمومی چک میکنم و اگر تایم داشته باشم در صورت دسترسی به کد، کد آن را ارزیابی می کنم.


20. با چه روشی مکانسیم های Authentication و Authorization در برنامه های موبایلی که با یک وب سرویس کار می کنند تست می گیرید؟

من برای تست برنامه های موبایلی روی API تمرکز می کنم. و همچنین برای تست سعی به مهندسی معکوس apk می کنم تا بتونم به صورت static نیز تست بگیرم.


21. از چه برنامه برای گزارش نویسی استفاده می کنید؟

من معمولا برای گزارش نویسی از word استفاده میکنم و template شخصی و تمامی آسیب پذیری ها را لیست می کنم و شماره گزاری می کنم تا قابل دسترس باشد. همچنین گاه ها پیش می آید برای ارایه گزارش از visio و powerpoint استفاده میکنم.


22. روند چک کردن آسیب پذیریهایی که کشف کردید الویت بندی و گزارش نویسی را شرح دهید.

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


About

سوالات و پاسخ های مصاحبه تست نفوذ وب

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published