网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
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注入)
- 补丁比对:
- 检查版本是否存在未修复漏洞