网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
1. OAuth安全风险及修复(除redirect_uri绕过)
20. URL正则绕过(/^http://.*.feei.cn/ )
2025年渗透测试面试题总结-拷打题库11
OAuth除了最常见的redirect_uri绕过问题外,还有哪些风险以及如何修复? JWT相较于SESSION优劣势? 如何通过HTTP参数污染将uid=9527&amount=100中的uid改为10086? 当网关对所有请求会进行一次强制urldecode,存在一个参数为uid=9527&remark=充话费&amount=100的接口,仅备注字段(remark)可控时,如何改变最终的金额字段(amount)? Web缓存投毒的原理、利用和修复? Web缓存投毒中,针对200的状态错误如何彻底修复? 漏洞测试软性能力 哪些漏洞的测试对业务有损?如何避免? 你之前没接触区块链/云原生/算法安全,现在需要你评估某个使用该技术的业务安全性,你会如何做? 漏洞修复一般分为哪几个步骤? 如何制定漏洞的修复时间?需要考虑哪些因素? 如何有效提升漏洞修复效率? 漏洞复盘的关键是什么? 如何快速有效推进修复外部厂商的漏洞? 外部白帽子发现某个高危漏洞,但完整修复需要多天,安全产品的止血手段不彻底,你该如何处置? 当前阶段,人工和自动化的代码审计差异点在哪里? 什么类型漏洞是代码审计无法准确判断存在与否的? 密钥的识别的正则如何写? 正则(a+)+会存在什么风险? 程序对读取的文件名的正则为/\.markdown/,如何绕过? 程序对请求的URL的正则为/^http\:\/\/.*\.feei.cn($|(\/[^<>\'\]*))/,如何绕过?" 解释型语言和编译型语言在语法树分析上有什么差异? JavaWeb应用中的反序列化漏洞的Source和Sink是什么? 黑盒如何检测XSS漏洞? 甲方黑盒是否应该有爬取流量功能? 黑盒如何扫描无法出网的SSRF? 黑盒如何扫描越权漏洞? 黑盒带登录态扫描如何规避业务影响? 黑盒扫描时如何避免被反制? 灰盒相较于黑白盒的优势是什么?
1. OAuth安全风险及修复(除redirect_uri绕过)
风险:
- Scope权限过大:第三方应用获取不必要权限(如读写所有数据)。
- CSRF攻击:攻击者伪造授权请求绑定恶意应用。
- 令牌泄露:Access Token未加密传输或存储。
修复:
- 限制Scope为最小权限,强制PKCE(Proof Key for Code Exchange)。
- 使用
state
参数防CSRF,令牌存储加密且设置短有效期。
2. JWT vs SESSION优劣势
维度 JWT SESSION 优势 无状态、跨域支持、扩展性强 服务端可控、安全性高 劣势 密钥泄露风险、无法主动失效 存储开销、跨域兼容性差 修复 使用强算法(如ES512)、设置短有效期 定期刷新Session ID、绑定IP/UA
3. HTTP参数污染修改UID
方法:
- 参数覆盖:发送重复参数
uid=10086&uid=9527
,部分后端取首个值。- 位置操纵:调整参数顺序
amount=100&uid=10086
(某些框架按最后出现值解析)。
4. 强制URLDecode下篡改金额
利用步骤:
- 构造
remark=充话费%26amount=9999%26
(URL编码后为%26
→&
)。- 网关解码后参数变为:
uid=9527&remark=充话费&amount=9999&amount=100
。- 后端解析
amount
时取最后一个值100
失败,部分框架可能取首个值9999
。
5. Web缓存投毒原理与修复
原理:
- 攻击者注入恶意内容(如XSS载荷),触发缓存服务器存储并分发给其他用户。
利用:操纵X-Forwarded-Host
或Host
头污染缓存键。
修复:- 禁用用户输入影响缓存键,规范缓存键生成逻辑。
- 对动态内容禁用缓存,如设置
Cache-Control: no-store
。
6. 200状态错误缓存投毒修复
根治方案:
- 分离缓存键与响应内容,确保错误响应(如404/500)不被缓存。
- 配置缓存服务器仅缓存
200
状态且内容类型匹配的响应。
7. 对业务有损的漏洞测试及规避
风险场景:
- 数据库写入测试:批量SQL注入导致数据污染。
- 支付接口重放:重复扣款或订单混乱。
规避:- 使用测试环境或沙盒,避免生产数据操作。
- 限制测试账号权限,隔离测试流量。
8. 评估未知技术(区块链/云原生/算法)安全性
方法论:
- 框架学习:快速掌握技术核心机制(如智能合约、K8s架构)。
- 威胁建模:识别关键攻击面(如合约重入、容器逃逸)。
- 工具辅助:使用链上分析工具(如Mythril)、K8s安全扫描器(kube-hunter)。
9. 漏洞修复步骤
- 确认:复现漏洞,评估影响范围。
- 评估:制定修复方案(临时缓解+长期修复)。
- 修复:代码/配置修改,测试验证。
- 验证:渗透测试+监控确认修复效果。
- 复盘:分析根因,优化流程。
10. 漏洞修复时间制定因素
- 严重性:CVSS评分、利用可能性。
- 业务影响:修复导致的服务中断风险。
- 资源协调:开发、运维团队排期优先级。
11. 提升漏洞修复效率策略
- 自动化:CI/CD集成漏洞扫描(如SAST/DAST)。
- 标准化:建立漏洞修复SOP和模板。
- 协作:安全团队嵌入研发流程,提前介入设计评审。
12. 漏洞复盘关键点
- 根因分析:技术漏洞背后的流程/管理缺陷。
- 横向排查:同类问题是否存在于其他模块。
- 改进措施:更新开发规范、增强安全培训。
13. 外部厂商漏洞修复推进
- 契约约束:通过SLA协议明确修复时限。
- 临时缓解:WAF规则拦截、流量监控。
- 协同防御:提供PoC协助厂商定位问题。
14. 高危漏洞临时处置方案
- 流量限速:针对攻击特征限流(如特定IP/UA)。
- 权限回收:临时禁用高危接口或功能。
- 日志溯源:监控异常请求,阻断攻击链。
15. 人工与自动化代码审计差异
维度 人工审计 自动化审计 优势 逻辑漏洞、业务上下文理解 快速覆盖、模式匹配(如硬编码密钥) 局限 效率低、依赖经验 误报率高、无法理解业务逻辑
16. 代码审计无法准确判断的漏洞
- 业务逻辑漏洞:如支付金额篡改、条件竞争。
- 环境交互漏洞:依赖第三方服务或配置的漏洞。
- 加密算法误用:弱随机数生成、密钥管理缺陷。
17. 密钥识别正则
表达式:
regex
(?i)(?:password|secret|api[_-]?key|token)\s*[:=]\s*['"]?([a-zA-Z0-9+/=]{20,})['"]?
优化:排除常见占位符(如
***
、TODO
)。
18. 正则(a+)+的风险
ReDoS攻击:输入
aaaaaaaaX
导致指数级回溯,耗尽CPU资源。
19. 文件名正则绕过(/.markdown/)
方法:
- 路径混淆:
file.markdown%80
(利用UTF-8编码截断)。- 双写扩展名:
file.markdown.jpg
(部分解析库取最后一个后缀)。
20. URL正则绕过(/^http://.*.feei.cn/ )
绕过方式:
- 子域名欺骗:
http://evil.feei.cn.example.com
。- 协议混淆:
http://feei.cn@evil.com/path
。
21. 解释型与编译型语言语法树差异
- 解释型(如PHP/Python):运行时动态生成AST,支持反射等灵活特性。
- 编译型(如Java/C++):编译时生成固定AST,优化后代码与源码结构差异大。
22. Java反序列化漏洞Source与Sink
- Source:用户可控输入(如HTTP参数、RMI请求)。
- Sink:
ObjectInputStream.readObject()
、XStream.fromXML()
。
23. 黑盒检测XSS漏洞
步骤:
- 输入点探测:表单、URL参数、Headers(如User-Agent)。
- Payload注入:
<img src=x onerror=alert(1)>
。- 响应分析:检查HTML是否未编码输出。
24. 甲方黑盒是否需爬取流量
建议:
- 需要:深度覆盖动态内容(如AJAX请求)。
- 限制:设置爬虫速率限制,避免触发业务风控。
25. 黑盒扫描无网SSRF
方法:
- DNS回显:使用
dnslog.cn
检测DNS查询。- 延迟判断:访问内网已知延迟服务(如Redis),通过响应时间差异推断。
26. 黑盒扫描越权漏洞
策略:
- 参数替换:修改ID、Cookie切换账号测试数据访问。
- 批量遍历:递增数字枚举资源(如
/user/100
→/user/101
)。
27. 带登录态扫描规避业务影响
- 账号隔离:使用专属测试账号,限制操作权限。
- 流量标记:请求头添加
X-Scan: true
,业务侧过滤扫描请求。
28. 黑盒扫描防反制措施
- 匿名化:使用代理池、随机User-Agent。
- 速率控制:降低请求频率,模拟正常用户行为。
- 协议规避:禁用高危操作(如DELETE/PUT)。
29. 灰盒测试优势
- 信息增强:结合部分代码/日志(如错误信息)提升检测精度。
- 效率平衡:比黑盒更精准,比白盒更轻量。