2025年渗透测试面试题总结-拷打题库06(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
1. Sleep被禁用后的SQL注入
2. XSS属性控制利用
3. CSRF防护
4. 危险请求头
5. XXE高发场景
6. Java中间件漏洞
7. IIS漏洞
8. Python框架漏洞
9. 任意密码重置漏洞
10. PHP代码审计要点
11. 绕过HTTP-Only Cookie
12. CTF经典题目
13. SQL二次注入
14. 渗透工具链
15. CVE深度分析
16. SQL注入防御
17. MySQL版本差异
18. SQL vs NoSQL
19. 漏洞修复对比
20. 同源策略与跨域
21. DOM XSS快速判断
22. SSRF利用协议
23. Referer篡改
24. TCP握手挥手
25. 访问网址流程
26. 渗透初期步骤
27. CMS识别价值
2025年渗透测试面试题总结-拷打题库06
sleep被禁用后还能怎么进行sql注入 XSS可以控制属性怎么利用 CSRF怎么防护? 请求头中哪些是有危害的? 哪些地方容易存在xxe? JAVA中间件的漏洞,举几个例子? IIS常见的漏洞 python有哪些框架,其中出现过哪些漏洞 业务逻辑漏洞,用户任意密码重置举出有什么例子,因为什么因素导致的? PHP代码审计?开源的代码审计有没有做过?弱类型比较,反序列化漏洞这种考点在哪? HTTP-Only禁止的是JS读取cookie信息,如何绕过这个获取cookie 说一个印象深刻的CTF的题目 sql二次注入 你常用的渗透工具有哪些,最常用的是哪个? 描述一个你深入研究过的CVE或POC(ms17-010/最新的CVE) SQL注入的原理 如何进行SQL注入的防御 mysql的网站注入,5.0以上和5.0以下有什么区别? SQL和NoSQL的区别 CSRF和XSS和XXE有什么区别,以及修复方式? CSRF、SSRF和重放攻击有什么区别? 啥是同源策略,跨域有几种方式? 如何规避同源策略? DOMXSS与反射XSS有啥不同,给你10s,如何快速判断一个XSS是否是DOMXSS? SSRF漏洞原理是什么?利用时有哪些伪协议? 在浏览器端,Referer可以篡改吗? TCP三次握手四次挥手 当你输入一个网址,点击访问,会发生什么? 拿到一个待检测的站,你觉得应该先做什么? 判断出网站的CMS对渗透有什么意义?
1. Sleep被禁用后的SQL注入
替代技术:
sql
-- 布尔盲注替代时间盲注 SELECT IF(ASCII(SUBSTR(database(),1,1))=115, BENCHMARK(5000000,MD5('test')),0) -- 重查询延迟(利用笛卡尔积) SELECT * FROM users WHERE id=1 AND (SELECT count(*) FROM information_schema.tables A, information_schema.tables B)
绕过方案:
类型 方法 案例 计算延迟 复杂数学运算(如MD5循环) MD5(REPEAT('a',1000000))
错误触发 故意制造报错信息泄露 1/0
触发除零错误逻辑判断 布尔盲注(页面内容差异判断) 通过响应长度差异判断结果
2. XSS属性控制利用
高危属性列表:
html
<!-- 事件触发 --> <img src=x onerror=alert(1)> <!-- 协议执行 --> <a href="javascript:alert(document.domain)">Click</a> <!-- 资源加载 --> <iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==">
防御方案:
- 对动态属性值进行HTML实体编码
- 使用CSP限制非信任协议(如
script-src 'self'
)
3. CSRF防护
五层防御体系:
- Token验证:
html
<form> <input type="hidden" name="csrf_token" value="随机32位字符串"> </form>
- SameSite Cookie:
http
Set-Cookie: session=xxx; SameSite=Strict
- 验证头:
- 检查Origin/Referer头是否合法域名
- 业务逻辑:
- 关键操作需二次确认(如短信验证)
- 框架内置:
- 使用Spring Security的CSRF模块
4. 危险请求头
头部字段 风险 利用场景 User-Agent 伪造设备信息绕过WAF 模拟Googlebot绕过检测 X-Forwarded-For IP欺骗绕过地理限制 伪造内网IP访问管理接口 Accept-Language 本地化攻击载荷注入 语言参数触发漏洞 Cookie 会话劫持(需结合XSS) 窃取身份凭证
5. XXE高发场景
风险点矩阵:
场景 案例 防御方案 XML文件上传 SVG图片上传解析 禁用外部实体引用 WebService接口 SOAP请求处理 使用JSON替代XML Office文档解析 DOCX文件内容读取 升级XML解析库版本 打印机协议 IPP协议指令执行 关闭不必要的服务端口
6. Java中间件漏洞
典型CVE:
- Apache Tomcat:
- CVE-2020-1938(Ghostcat文件读取)
- CVE-2020-9484(反序列化RCE)
- WebLogic:
- CVE-2023-21839(IIOP协议反序列化)
- CVE-2020-14882(未授权命令执行)
- Spring:
- CVE-2022-22963(SpEL表达式注入)
7. IIS漏洞
历史高危漏洞:
markdown
1. **CVE-2021-31166**:HTTP协议栈远程代码执行 - 影响:IIS 10.0 - 修复:安装2021年5月补丁 2. **CVE-2020-0645**:URL重写模块漏洞 - 利用:构造特殊URL绕过规则 3. **CVE-2017-7269**:WebDAV缓冲区溢出 - 利用:PROPFIND请求触发溢出
8. Python框架漏洞
框架 漏洞案例 影响版本 Django CVE-2024-27351(模板注入) <4.2.8 Flask CVE-2023-30861(会话伪造) <2.3.2 Tornado CVE-2022-24883(XSS过滤绕过) <6.2.0
9. 任意密码重置漏洞
典型案例:
- 参数篡改:
- 修改
userid
参数:POST /reset?userid=attacker
- 修复:服务端校验用户与令牌关联性
- 验证码爆破:
- 4位验证码可暴力破解
- 修复:限制尝试次数(5次锁定)
- 邮箱劫持:
- 修改Host头伪造重置链接
- 修复:链接中绑定用户哈希签名
10. PHP代码审计要点
核心考点:
php
// 弱类型比较漏洞 if ($_GET['code'] == 'admin') { // '0' == 'admin' => true grant_admin(); } // 反序列化漏洞 unserialize($_COOKIE['data']); // 可触发__destruct魔术方法
开源审计案例:
- WordPress插件漏洞:通过
extract($_POST)
覆盖配置变量- ThinkPHP RCE:路由解析缺陷导致代码执行(CVE-2021-43789)
11. 绕过HTTP-Only Cookie
攻击路径:
- XSS+网络嗅探:
- 注入脚本发起跨域请求,捕获Authorization头
- 浏览器漏洞:
- CVE-2022-1364(Chrome原型链污染读取Cookie)
- 中间人攻击:
- 通过WiFi劫持获取Set-Cookie头
防御增强:
- 启用
SameSite=Strict
- 定期轮换会话令牌
12. CTF经典题目
2024年DEFCON CTF决赛题:
- 场景:基于WebAssembly的XSS挑战
- 解法:
- 逆向分析WASM模块找到溢出点
- 覆盖函数指针跳转到alert
- 构造
wasm-objdump
导出函数表实现利用
13. SQL二次注入
攻击流程:
mermaid
graph LR A[首次输入] --> B[恶意数据存储] B --> C[数据被取出拼接SQL] C --> D[触发注入]
案例:
- 用户注册时用户名含
'
,后续个人中心查询时触发报错
14. 渗透工具链
常用工具:
类别 工具 使用场景 信息收集 Amass, Shodan 资产测绘 漏洞扫描 Nuclei, SQLMap 自动化检测 横向移动 CrackMapExec, Mimikatz 内网渗透 最常用 Burp Suite Pro 全流程流量分析
15. CVE深度分析
MS17-010(永恒之蓝):
- 漏洞原理:SMBv1协议处理
Trans2
请求时缓冲区溢出- 利用步骤:
- 使用Metasploit生成Shellcode
- 发送畸形SMB请求触发溢出
- 覆盖返回地址执行Payload
- 影响范围:Windows 7/Server 2008未打补丁系统
16. SQL注入防御
分层防护:
- 开发层:
java
// 预编译示例 String sql = "SELECT * FROM users WHERE id = ?"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, Integer.parseInt(userInput));
- 运维层:
- 部署WAF(正则过滤
union|select|sleep
)- 数据库权限最小化(禁止
FILE
权限)- 架构层:
- 使用ORM框架(如Hibernate)
- 启用SQL防火墙(如MySQL Enterprise)
17. MySQL版本差异
特性 5.0以下 5.0以上 系统表 无information_schema 内置information_schema 报错信息 不详细 详细错误提示 联合查询 需要猜测列数 利用ORDER BY探测列数
18. SQL vs NoSQL
对比维度 SQL NoSQL 数据模型 结构化表 文档/键值对/图 查询语言 SQL 各厂商自定义语法 注入类型 传统SQL注入 NoSQL注入(如MongoDB $where) 事务支持 ACID BASE
19. 漏洞修复对比
漏洞 区别 修复方案 XSS 客户端脚本执行 输入过滤 + CSP CSRF 跨站请求伪造 Token验证 + SameSite XXE XML实体扩展 禁用DTD解析
20. 同源策略与跨域
同源策略三要素:
- 协议、域名、端口完全一致
跨域方法:
- CORS:
http
Access-Control-Allow-Origin: https://trusted.com
- JSONP:
html
<script src="https://api.com/data?callback=handleData"></script>
- 代理服务:
- 通过Nginx反向代理统一域名
21. DOM XSS快速判断
10秒鉴别法:
- 查看页面源码是否包含
location.hash
/document.write
- 检查URL参数是否直接传递给
eval()
或innerHTML
- 使用浏览器调试工具追踪数据流
案例:
javascript
// 漏洞代码 document.getElementById('output').innerHTML = location.hash.substr(1);
22. SSRF利用协议
高危协议:
markdown
- `file:///etc/passwd`(文件读取) - `gopher://`(发送任意TCP流量) - `dict://`(探测内网服务) - `http://169.254.169.254`(云元数据)
防御:
- 白名单校验请求目标
- 禁用非常用协议处理
23. Referer篡改
篡改方法:
javascript
// 使用Fetch API禁用Referer fetch(url, {referrerPolicy: 'no-referrer'}); // 通过Meta标签控制 <meta name="referrer" content="never">
防御:
- 服务端不依赖Referer做安全判断
24. TCP握手挥手
三次握手:
mermaid
sequenceDiagram Client->>Server: SYN=1, Seq=X Server->>Client: SYN=1, ACK=X+1, Seq=Y Client->>Server: ACK=Y+1
四次挥手:
mermaid
sequenceDiagram Client->>Server: FIN=1, Seq=X Server->>Client: ACK=X+1 Server->>Client: FIN=1, Seq=Y Client->>Server: ACK=Y+1
25. 访问网址流程
全链路解析:
- DNS查询(本地缓存 → 递归查询)
- TCP连接(三次握手)
- TLS握手(SNI协商证书)
- HTTP请求(包含HSTS预加载)
- 渲染引擎解析(DOM树构建 → JS执行 → 渲染绘制)
26. 渗透初期步骤
五步法:
- 指纹识别:
bash
whatweb http://target.com
- 端口扫描:
bash
nmap -sV -sC -p- target.com
- 目录爆破:
bash
gobuster dir -u http://target.com -w common.txt
- 漏洞探测:
bash
nuclei -t cves/ -u http://target.com
- 业务分析:
- 人工测试登录/注册/支付流程
27. CMS识别价值
渗透意义:
- 漏洞关联:
- 通过已知CMS漏洞快速突破(如WordPress插件RCE)
- 利用链构造:
- 结合CMS特性设计攻击路径(如Drupal的Form API注入)
- 补丁比对:
- 检查版本是否存在未修复漏洞