渗透测试岗位面试题多人实战大汇总
字数 4478 2025-08-15 21:32:20
渗透测试岗位面试题全面解析与实战指南
面试技巧与心态
-
避免直接承认不了解:当遇到不会的技术问题时,不要说"这个不怎么了解",可以:
- 谈论相近的技术知识
- 说"暂时想不起来了"
- 展示学习能力和解决问题的思路
-
保持自信态度:技术人员的自信是基本素质,相信自己有能力学习掌握新技术。
-
强势回应技巧:对熟悉的技术可以自信回应:"百度能解决的问题请不要问我,谢谢!"
渗透测试核心面试题解析
1. 网站渗透测试流程
1. **信息收集阶段**:
- 使用天眼查、启信宝查询企业信息(大型网站)
- 识别建站系统(小型网站)
- WHOIS查询(注册者邮箱、电话等)
- 查询旁站和子域名
- 识别服务器OS版本和Web中间件
2. **漏洞探测**:
- IP端口扫描(rsync、MySQL、FTP等弱口令)
- 目录结构扫描(敏感文件泄露)
- Google Hacking技术
- 功能点分析(针对不同功能测试不同漏洞)
3. **漏洞利用**:
- 根据发现的漏洞选择合适的利用方式
- 尝试获取系统权限
2. WHOIS查询要点
-
查询内容:
- 域名信息
- 注册商
- 联系人信息
- 联系邮箱
- 创建/过期时间
- DNS信息
- 网站状态
-
常用WHOIS查询网站:
- 中国互联网信息中心(http://www.cnnic.net.cn/)
- 站长之家(http://whois.chinaz.com/)
- 全球WHOIS查询(https://www.whois365.com/cn/)
- 百度云WHOIS(https://cloud.baidu.com/product/bcd.html)
3. 基础网络信息收集
-
域名转IP方法:
ping 域名nslookup 域名- 在线查询工具(站长之家等)
- 指纹识别工具(云悉)
- 浏览器插件(ToolBox)
-
Nmap扫描命令:
nmap -p 端口号或1-65535 目标IP常用参数:
-sSTCP SYN扫描-sTTCP connect()扫描-sUUDP扫描-sV版本探测-O操作系统检测-f报文分段
4. 常见Web容器及漏洞
| 容器 | 常见漏洞 |
|---|---|
| IIS | PUT漏洞、短文件名猜解、解析漏洞 |
| WebLogic | 反序列化漏洞 |
| Tomcat | 管理后台弱口令、war包部署 |
| Nginx | 解析漏洞、目录遍历 |
| Apache | 解析漏洞、.htaccess配置问题 |
IIS漏洞测试方法:
- 区分版本(6.0/7.5)
- 测试相应版本的解析漏洞
- 尝试经典ASP验证绕过
- 测试PHP认证绕过
5. 端口与对应服务
| 端口 | 服务 | 常见攻击方式 |
|---|---|---|
| 443 | HTTPS | 网页漏洞利用 |
| 445 | SMB | 永恒之蓝(MS17-010) |
| 3306 | MySQL | 爆破、注入 |
| 1433 | MSSQL | 爆破、注入 |
| 6379 | Redis | 未授权访问 |
| 27017 | MongoDB | 未授权访问 |
| 7001 | WebLogic | 反序列化、控制台弱口令 |
| 8080 | 各类Web服务 | Web应用漏洞 |
6. 内网渗透技术
跨域方法:
- JSONP跨域 - 利用script标签,仅GET方式
- CORS跨域 - 现代跨域解决方案
- 代理跨域 - 需要额外代理服务器
- postMessage - HTML5跨窗口通信
- document.domain - 同主域下的子域跨域
- WebSocket - 全双工通信协议
反向代理工具:
- EarthWorm
- reGeorg
- Tunna
- proxifier
7. 渗透测试工具集
- 综合框架:Metasploit、CORE Impact
- SQL注入:SQLmap
- 扫描工具:Nmap、AWVS、御剑
- 中间人攻击:Burp Suite、Wireshark
- 无线安全:Aircrack-ng
- 密码破解:Hydra、John the Ripper
- 社会工程:Social Engineer Toolkit(SET)
- XSS测试:BeEF
8. SQL注入深度解析
盲注参数:
sqlmap -u "目标URL" --technique=B # B表示布尔盲注
SQLmap常用参数:
-d直接连接数据库-u目标URL-l从代理日志解析目标--dataPOST数据--cookieCookie头--technique指定注入技术(BEUST)--level测试等级(1-5)--risk测试风险(0-3)
SQL注入类型:
- 联合查询注入
- 报错注入
- 布尔盲注
- 时间盲注
- 堆叠查询注入
9. Burp Suite实战技巧
-
重放请求:
- 拦截请求后发送到Repeater模块
- 修改参数后重复发送
-
爆破POST请求:
- 发送到Intruder模块
- 设置攻击类型(Pitchfork等)
- 配置payload位置和字典
-
爆破四种模式:
- Sniper - 单一参数爆破
- Battering ram - 多参数相同payload
- Pitchfork - 多参数不同payload
- Cluster bomb - 多参数payload组合
10. 常见Web漏洞解析
越权漏洞:
-
水平越权:
- 通过修改userid等参数访问他人数据
- 本质是访问控制缺失
-
垂直越权:
- 低权限用户访问高权限功能
- 通过猜测管理URL实现权限提升
文件上传绕过方法:
- 客户端JS验证绕过
- 服务端MIME类型绕过
- 文件内容头欺骗(gif89a)
- 解析漏洞利用
- 特殊文件名构造
- WAF绕过技术
- CMS/编辑器漏洞利用
11. 系统日志分析
Windows安全日志:
- 路径:事件查看器 → Windows日志 → 安全
- 记录所有安全审核动作
Linux系统日志:
- 主要路径:/var/log/
- 查看历史命令:
history - 查看进程:
ps aux或top - 查找文件:
find / -name "filename"
12. 后渗透技巧
获取远程连接:
-
开启3389端口(Windows):
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f -
使用反向Shell工具:
- nc反弹Shell
- Metasploit生成payload
- EarthWorm建立隧道
提权方法:
-
Windows:
- 内核漏洞利用(如MS16-032)
- 服务权限滥用
-
Linux:
- 脏牛漏洞(CVE-2016-5195)
- sudo配置错误
- SUID滥用
13. 网络协议与架构
三次握手过程:
- 客户端发送SYN=1, seq=x
- 服务端响应SYN=1, ACK=1, seq=y, ack=x+1
- 客户端发送ACK=1, seq=x+1, ack=y+1
全双工与半双工:
- 全双工:双方可同时收发(如电话)
- 半双工:同一时间只能一方发送(如对讲机)
路由与交换机区别:
- 路由器:网络层设备,连接不同网络
- 交换机:数据链路层设备,连接同一网络内设备
实战场景问题解答
1. 给定靶机如何找出漏洞
-
信息收集:
- 扫描开放端口和服务
- 识别Web应用框架和版本
- 查找已知漏洞
-
漏洞验证:
- 测试默认凭证
- 尝试常见漏洞(如SQLi、XSS)
- 验证扫描结果
-
漏洞利用:
- 根据验证结果选择合适的利用方式
- 获取初步访问权限
-
权限提升:
- 查找系统配置弱点
- 利用内核或服务漏洞提权
2. 漏洞挖掘步骤
- 目标确定:明确测试范围和规则
- 信息收集:全面搜集目标相关信息
- 漏洞扫描:使用工具自动化扫描
- 手动验证:人工验证扫描结果
- 漏洞利用:尝试利用已验证漏洞
- 报告编写:详细记录发现和利用过程
3. 流量监控方法
-
网络层监控:
- 使用Wireshark、tcpdump抓包分析
- 监控异常连接和流量模式
-
主机层监控:
- 检查系统日志
- 监控进程网络连接
-
应用层监控:
- Web应用防火墙日志分析
- 数据库审计日志
学习与发展建议
-
知识获取途径:
- 技术博客和论坛(FreeBuf等)
- 漏洞公告平台(CVE、CNVD)
- CTF比赛和靶机练习
- 开源项目代码审计
-
发展方向:
- Web应用安全
- 内网渗透
- 代码审计
- 红队技术
- 漏洞研究与挖掘
-
技能提升建议:
- 掌握至少一门脚本语言(Python/PHP)
- 深入理解网络协议
- 定期练习最新漏洞利用
- 参与开源安全项目
附录:速查命令表
| 类别 | 命令/操作 | 说明 |
|---|---|---|
| 网络扫描 | nmap -sV -O 目标IP |
扫描服务和操作系统 |
| SQL注入 | sqlmap -u "url" --dbs |
枚举数据库 |
| 文件查找 | find / -name "*.php" |
查找PHP文件 |
| 进程查看 | ps aux | grep mysql |
查找MySQL进程 |
| 历史命令 | history |
查看执行过的命令 |
| 端口转发 | ew -s lcx_listen -l 1080 -e 8888 |
使用EarthWorm建立端口转发 |
| Windows | net user |
查看系统用户 |
| 日志查看 | tail -f /var/log/apache2/access.log |
实时查看Apache访问日志 |
本指南涵盖了渗透测试面试中的核心技术要点,建议结合实战靶场练习加深理解。保持持续学习和实践是成为优秀渗透测试人员的关键。