渗透测试岗位面试题多人实战大汇总
字数 4478 2025-08-15 21:32:20

渗透测试岗位面试题全面解析与实战指南

面试技巧与心态

  1. 避免直接承认不了解:当遇到不会的技术问题时,不要说"这个不怎么了解",可以:

    • 谈论相近的技术知识
    • 说"暂时想不起来了"
    • 展示学习能力和解决问题的思路
  2. 保持自信态度:技术人员的自信是基本素质,相信自己有能力学习掌握新技术。

  3. 强势回应技巧:对熟悉的技术可以自信回应:"百度能解决的问题请不要问我,谢谢!"

渗透测试核心面试题解析

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
    

    常用参数

    • -sS TCP SYN扫描
    • -sT TCP connect()扫描
    • -sU UDP扫描
    • -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. 内网渗透技术

跨域方法

  1. JSONP跨域 - 利用script标签,仅GET方式
  2. CORS跨域 - 现代跨域解决方案
  3. 代理跨域 - 需要额外代理服务器
  4. postMessage - HTML5跨窗口通信
  5. document.domain - 同主域下的子域跨域
  6. 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 从代理日志解析目标
  • --data POST数据
  • --cookie Cookie头
  • --technique 指定注入技术(BEUST)
  • --level 测试等级(1-5)
  • --risk 测试风险(0-3)

SQL注入类型

  1. 联合查询注入
  2. 报错注入
  3. 布尔盲注
  4. 时间盲注
  5. 堆叠查询注入

9. Burp Suite实战技巧

  1. 重放请求

    • 拦截请求后发送到Repeater模块
    • 修改参数后重复发送
  2. 爆破POST请求

    • 发送到Intruder模块
    • 设置攻击类型(Pitchfork等)
    • 配置payload位置和字典
  3. 爆破四种模式

    • Sniper - 单一参数爆破
    • Battering ram - 多参数相同payload
    • Pitchfork - 多参数不同payload
    • Cluster bomb - 多参数payload组合

10. 常见Web漏洞解析

越权漏洞

  1. 水平越权

    • 通过修改userid等参数访问他人数据
    • 本质是访问控制缺失
  2. 垂直越权

    • 低权限用户访问高权限功能
    • 通过猜测管理URL实现权限提升

文件上传绕过方法

  1. 客户端JS验证绕过
  2. 服务端MIME类型绕过
  3. 文件内容头欺骗(gif89a)
  4. 解析漏洞利用
  5. 特殊文件名构造
  6. WAF绕过技术
  7. CMS/编辑器漏洞利用

11. 系统日志分析

Windows安全日志

  • 路径:事件查看器 → Windows日志 → 安全
  • 记录所有安全审核动作

Linux系统日志

  • 主要路径:/var/log/
  • 查看历史命令:history
  • 查看进程:ps auxtop
  • 查找文件:find / -name "filename"

12. 后渗透技巧

获取远程连接

  1. 开启3389端口(Windows):

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
    
  2. 使用反向Shell工具:

    • nc反弹Shell
    • Metasploit生成payload
    • EarthWorm建立隧道

提权方法

  1. Windows:

    • 内核漏洞利用(如MS16-032)
    • 服务权限滥用
  2. Linux:

    • 脏牛漏洞(CVE-2016-5195)
    • sudo配置错误
    • SUID滥用

13. 网络协议与架构

三次握手过程

  1. 客户端发送SYN=1, seq=x
  2. 服务端响应SYN=1, ACK=1, seq=y, ack=x+1
  3. 客户端发送ACK=1, seq=x+1, ack=y+1

全双工与半双工

  • 全双工:双方可同时收发(如电话)
  • 半双工:同一时间只能一方发送(如对讲机)

路由与交换机区别

  • 路由器:网络层设备,连接不同网络
  • 交换机:数据链路层设备,连接同一网络内设备

实战场景问题解答

1. 给定靶机如何找出漏洞

  1. 信息收集

    • 扫描开放端口和服务
    • 识别Web应用框架和版本
    • 查找已知漏洞
  2. 漏洞验证

    • 测试默认凭证
    • 尝试常见漏洞(如SQLi、XSS)
    • 验证扫描结果
  3. 漏洞利用

    • 根据验证结果选择合适的利用方式
    • 获取初步访问权限
  4. 权限提升

    • 查找系统配置弱点
    • 利用内核或服务漏洞提权

2. 漏洞挖掘步骤

  1. 目标确定:明确测试范围和规则
  2. 信息收集:全面搜集目标相关信息
  3. 漏洞扫描:使用工具自动化扫描
  4. 手动验证:人工验证扫描结果
  5. 漏洞利用:尝试利用已验证漏洞
  6. 报告编写:详细记录发现和利用过程

3. 流量监控方法

  1. 网络层监控

    • 使用Wireshark、tcpdump抓包分析
    • 监控异常连接和流量模式
  2. 主机层监控

    • 检查系统日志
    • 监控进程网络连接
  3. 应用层监控

    • Web应用防火墙日志分析
    • 数据库审计日志

学习与发展建议

  1. 知识获取途径

    • 技术博客和论坛(FreeBuf等)
    • 漏洞公告平台(CVE、CNVD)
    • CTF比赛和靶机练习
    • 开源项目代码审计
  2. 发展方向

    • Web应用安全
    • 内网渗透
    • 代码审计
    • 红队技术
    • 漏洞研究与挖掘
  3. 技能提升建议

    • 掌握至少一门脚本语言(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访问日志

本指南涵盖了渗透测试面试中的核心技术要点,建议结合实战靶场练习加深理解。保持持续学习和实践是成为优秀渗透测试人员的关键。

渗透测试岗位面试题全面解析与实战指南 面试技巧与心态 避免直接承认不了解 :当遇到不会的技术问题时,不要说"这个不怎么了解",可以: 谈论相近的技术知识 说"暂时想不起来了" 展示学习能力和解决问题的思路 保持自信态度 :技术人员的自信是基本素质,相信自己有能力学习掌握新技术。 强势回应技巧 :对熟悉的技术可以自信回应:"百度能解决的问题请不要问我,谢谢!" 渗透测试核心面试题解析 1. 网站渗透测试流程 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扫描命令 : 常用参数 : -sS TCP SYN扫描 -sT TCP connect()扫描 -sU UDP扫描 -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常用参数 : -d 直接连接数据库 -u 目标URL -l 从代理日志解析目标 --data POST数据 --cookie Cookie头 --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): 使用反向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访问日志 | 本指南涵盖了渗透测试面试中的核心技术要点,建议结合实战靶场练习加深理解。保持持续学习和实践是成为优秀渗透测试人员的关键。