渗透测试工程师面试题与答案

Milad Bonakdar
作者
用实用面试题准备渗透测试工程师岗位,覆盖范围确认、侦察、漏洞优先级、Burp Suite、Metasploit、API、Active Directory 和报告。
引言
渗透测试工程师面试中的好回答要证明三件事:你能在约定范围内工作,能按方法测试,也能把风险解释成工程团队和业务团队可以采取行动的信息。
用这些问题练习岗位中的关键环节:范围确认、侦察、漏洞优先级、Burp Suite、Metasploit、API 测试、Active Directory 和报告。回答应始终基于授权测试、清晰证据和修复建议。
渗透测试基础
1. 渗透测试的阶段有哪些?
回答: 好的方法在扫描前就开始。先确认书面授权、测试范围、交战规则、测试窗口、数据处理限制和紧急联系人,然后按可重复的流程推进。
1. 范围确认与计划:
- 确认书面授权、目标、排除项和交战规则
- 定义目标、成功标准、沟通路径和停止条件
2. 侦察与发现:
- 收集被动和主动信息
- 识别主机、服务、应用流程、用户角色和暴露的攻击面
3. 漏洞分析:
- 将发现与业务影响和可利用性关联起来
- 在把扫描结果写成发现前,先进行手动验证
4. 利用与后渗透验证:
- 只利用范围内且证明影响所需的弱点
- 在不超出规则的情况下检查权限边界、横向移动路径和数据暴露
5. 报告、清理与复测:
- 记录证据、影响、复现步骤和修复建议
- 移除测试痕迹,向相关方说明结果,并按需复测修复
侦察示例:
稀有度: 非常常见 难度: 中等
漏洞评估
2. 如何确定漏洞的优先级?
回答: 把 CVSS 作为起点,再结合可利用性、资产重要性、数据敏感度、暴露程度、补偿性控制和已知在野利用情况调整优先级。面试官想看到你不会把每个扫描结果都当成同等紧急。
CVSS 评分:
- 严重 (9.0-10.0): 远程代码执行,身份验证绕过
- 高 (7.0-8.9): SQL 注入,具有数据访问权限的 XSS
- 中 (4.0-6.9): 信息泄露,CSRF
- 低 (0.1-3.9): 轻微的信息泄露
优先级因素:
稀有度: 非常常见 难度: 中等
Metasploit
3. 如何使用 Metasploit 来利用漏洞?
回答: Metasploit 框架工作流程:
基本漏洞利用:
Meterpreter 命令:
有效载荷生成:
稀有度: 非常常见 难度: 中等到困难
4. 如何执行权限提升?
回答: 权限提升利用错误配置来获得更高的访问级别。
Linux 权限提升:
1. 枚举:
2. 常见技术:
SUID 漏洞利用:
Sudo 错误配置:
内核漏洞:
3. 自动化工具:
Windows 权限提升:
1. 枚举:
2. 常见技术:
未引用的服务路径:
AlwaysInstallElevated:
令牌模拟:
3. 自动化工具:
稀有度: 非常常见 难度: 困难
Burp Suite
5. 如何使用 Burp Suite 查找 SQL 注入?
回答: 系统化的 SQL 注入测试:
1. 拦截请求:
2. 发送到 Repeater: 测试手动有效载荷:
3. 使用 Intruder:
4. 分析响应:
- 不同的响应长度
- 错误消息
- 时间延迟(盲注 SQLi)
高级测试:
稀有度: 非常常见 难度: 中等
Web 应用程序测试
6. 如何测试 XSS 漏洞?
回答: 全面的 XSS 测试方法:
XSS 的类型:
- 反射型: 有效载荷在 URL/表单中,立即反射
- 存储型: 有效载荷存储在数据库中
- DOM 型: 客户端 JavaScript 漏洞
测试方法:
1. 识别注入点:
2. 绕过过滤器:
3. Burp Suite XSS 测试:
4. 自动化扫描:
稀有度: 非常常见 难度: 中等
7. 如何测试 API 安全性?
回答: API 安全性测试侧重于身份验证、授权和输入验证。
常见的 API 漏洞:
1. 身份验证失效:
2. 授权失效:
3. 大规模赋值:
REST API 测试:
GraphQL 测试:
API Fuzzing:
Postman/Burp Suite:
OWASP API 安全十大:
- 对象级别授权失效 - 测试 IDOR
- 身份验证失效 - 测试弱令牌
- 过度数据暴露 - 检查响应数据
- 缺乏资源和速率限制 - 测试 DoS
- 功能级别授权失效 - 测试权限提升
- 大规模赋值 - 测试参数污染
- 安全配置错误 - 检查标头、CORS
- 注入 - 测试 SQLi、NoSQLi、命令注入
- 不当资产管理 - 查找旧 API 版本
- 日志记录和监控不足 - 检查审计日志
稀有度: 常见 难度: 中等到困难
网络渗透测试
8. 如何执行网络渗透测试?
回答: 结构化的网络评估:
1. 网络发现:
2. 端口扫描:
3. 漏洞扫描:
4. 漏洞利用:
5. 后渗透:
稀有度: 非常常见 难度: 困难
9. 如何攻击 Active Directory 环境?
回答: Active Directory 是一个主要目标,具有许多攻击途径。
枚举:
BloodHound:
Kerberoasting:
AS-REP Roasting:
Pass-the-Hash:
Pass-the-Ticket:
Golden Ticket:
Silver Ticket:
DCSync 攻击:
横向移动:
持久化:
防御规避:
稀有度: 常见 难度: 困难
报告
10. 渗透测试报告应包括哪些内容?
回答: 全面的报告结构:
执行摘要:
- 高级别发现
- 业务影响
- 风险概述
- 建议
技术细节:
发现示例:登录表单中的 SQL 注入
严重性: 严重 (CVSS 9.8)
描述: /admin/login 的登录表单容易受到 SQL 注入攻击, 允许攻击者绕过身份验证并访问管理面板。
受影响的资产:
- URL:https://target.com/admin/login
- 参数:username
- 方法:POST
概念验证:
影响:
- 未经授权访问管理面板
- 访问敏感客户数据
- 潜在的数据库泄露
修复:
- 使用参数化查询
- 实施输入验证
- 将最小权限原则应用于数据库用户
稀有度: 非常常见 难度: 中等
结论
渗透测试人员面试需要实践经验和深入的技术知识。重点关注:
- 方法论: 结构化的测试方法、文档
- 漏洞评估: 风险优先级划分、CVSS 评分
- 工具: Metasploit、Burp Suite、Nmap、自定义脚本
- 权限提升: Linux 和 Windows 技术、自动化工具
- Web 测试: SQL 注入、XSS、身份验证绕过
- API 测试: REST/GraphQL 安全性、授权缺陷
- 网络测试: 扫描、漏洞利用、横向移动
- Active Directory: Kerberoasting、Pass-the-Hash、BloodHound
- 报告: 清晰的文档、业务影响、修复
在合法实验环境和故意设计为脆弱的应用中练习,建立可重复的测试清单,并像练习利用一样练习撰写发现。优秀候选人能说明何时停止、如何安全证明影响,以及如何帮助团队修复问题。


