网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[1. Sleep被禁用后的SQL注入](#1. Sleep被禁用后的SQL注入)
[2. XSS属性控制利用](#2. XSS属性控制利用)
[3. CSRF防护](#3. CSRF防护)
[4. 危险请求头](#4. 危险请求头)
[5. XXE高发场景](#5. XXE高发场景)
[6. Java中间件漏洞](#6. Java中间件漏洞)
[7. IIS漏洞](#7. IIS漏洞)
[8. Python框架漏洞](#8. Python框架漏洞)
[9. 任意密码重置漏洞](#9. 任意密码重置漏洞)
[10. PHP代码审计要点](#10. PHP代码审计要点)
[11. 绕过HTTP-Only Cookie](#11. 绕过HTTP-Only Cookie)
[12. CTF经典题目](#12. CTF经典题目)
[13. SQL二次注入](#13. SQL二次注入)
[14. 渗透工具链](#14. 渗透工具链)
[15. CVE深度分析](#15. CVE深度分析)
[16. SQL注入防御](#16. SQL注入防御)
[17. MySQL版本差异](#17. MySQL版本差异)
[18. SQL vs NoSQL](#18. SQL vs NoSQL)
[19. 漏洞修复对比](#19. 漏洞修复对比)
[20. 同源策略与跨域](#20. 同源策略与跨域)
[21. DOM XSS快速判断](#21. DOM XSS快速判断)
[22. SSRF利用协议](#22. SSRF利用协议)
[23. Referer篡改](#23. Referer篡改)
[24. TCP握手挥手](#24. TCP握手挥手)
[25. 访问网址流程](#25. 访问网址流程)
[26. 渗透初期步骤](#26. 渗透初期步骤)
[27. CMS识别价值](#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注入)
- 补丁比对 :
- 检查版本是否存在未修复漏洞