Andrey-Soares8/web-security-labs

GitHub: Andrey-Soares8/web-security-labs

记录 PortSwigger Web Security Academy 靶场实践过程与漏洞分析的安全学习仓库。

Stars: 0 | Forks: 0

# Web Security 实验室 ![PortSwigger](https://img.shields.io/badge/PortSwigger-Web%20Security%20Academy-orange) ![Burp Suite](https://img.shields.io/badge/Burp%20Suite-Proxy%20%7C%20Repeater%20%7C%20Intruder-blue) ![状态](https://img.shields.io/badge/status-28%20write--ups%20documentados-brightgreen) ![安全](https://img.shields.io/badge/foco-Application%20Security-red) 本仓库包含了 PortSwigger Web Security Academy 靶场的技术 write-up,主要关注 Web 应用安全、漏洞分析以及在受控环境中的实战渗透方法论。 本项目旨在记录我在 Application Security 方面的实践经验,包括技术思路、分析步骤、使用的 payload、证据、漏洞影响以及可能的缓解措施。 所有记录的靶场均在教育且获得授权的环境中完成。 ## 目标 通过以下方式构建在 Web 安全方面的实战经验: - 在受控靶场中分析真实漏洞 - 使用 Burp Suite、浏览器和 DevTools - 读取、拦截和篡改 HTTP/HTTPS 请求 - 在自动化之前优先进行手动测试 - 清晰客观的技术文档 - 通过截图和 payload 记录证据 - 了解每个漏洞的实际影响 - 创建面向 Application Security 的公开作品集 ## 当前进度 | 类别 | 已发布 write-up | 状态 | |---|---:|---| | SQL Injection | 9 | ✅ 已记录 | | Information Disclosure | 4 | ✅ 已记录 | | Cross-Site Scripting (XSS) | 3 | ✅ 已记录 | | Broken Authentication | 3 | ✅ 已记录 | | Access Control | 3 | ✅ 已记录 | | Server-Side Request Forgery (SSRF) | 2 | ✅ 已记录 | | XML External Entity (XXE) | 2 | ✅ 已记录 | | File Upload Vulnerabilities | 2 | ✅ 已记录 | **总计:已发布 28 篇 write-up。** ## 已记录模块 ### SQL Injection 这些 write-up 专注于 SQL Injection 漏洞的利用,包括隐藏数据检索、登录绕过、数据库结构枚举、UNION attacks、提取多个值、基于条件响应和 time-based 的 blind SQL Injection。 **主要演示技术:** - 篡改易受攻击的参数 - 通过 SQL Injection 绕过身份验证 - 使用 `UNION SELECT` - 枚举表和列 - 提取敏感数据 - 带有条件响应的 Blind SQL Injection - 具有 time-based 的 Blind SQL Injection - 识别 Oracle、MySQL 和 Microsoft 数据库版本 ### 信息泄露 这些 write-up 涉及敏感信息的不当暴露、错误消息分析、隐藏文件、管理端点、元数据、应用程序的不安全行为以及通过版本控制信息泄露。 **主要演示技术:** - 分析错误消息 - 枚举文件和端点 - 识别暴露的 `phpinfo()` - 利用泄露的信息绕过身份验证 - 利用暴露的 `.git` 目录 - 从公开文件中重建敏感信息 ### Cross-Site Scripting (XSS) 关于反射型、存储型和 DOM-based XSS 的 write-up,重点关注执行上下文、分析 sources 和 sinks、最小化 payload 及其对浏览器的影响。 **主要演示技术:** - 搜索参数中的反射型 XSS - 评论/聊天功能中的存储型 XSS - 通过 `location.search` 触发的 DOM XSS - 分析作为不安全 sink 的 `innerHTML` - 服务器端执行与浏览器端执行的区别 - 在正确的上下文中验证 payload ### Broken Authentication 关于身份验证漏洞、用户名枚举、2FA 绕过、带有薄弱防护的暴力破解,以及分析应用程序响应差异的 write-up。 **主要演示技术:** - 用户名枚举 - 靶场环境下的密码暴力破解 - 分析错误消息 - 简单的 2FA 绕过 - 使用 Burp Intruder - 使用 Resource Pool 控制并发速率 - 使用 Pitchfork 进行并发攻击 ### 访问控制 关于授权漏洞、IDOR、非法访问管理区域以及基于用户可控数据的权限控制的 write-up。 **记录的靶场:** - User ID controlled by request parameter - Insecure direct object references - User role controlled by request parameter **主要演示技术:** - 通过可预测参数进行的 IDOR - 通过 ID 枚举对象 - 非法访问其他用户的资源 - 将 cookie `Admin=false` 篡改为 `Admin=true` - 客户端(client-side)和服务器端(server-side)控制之间的区别 - 按资源验证授权,而不仅仅是按会话验证 ### Server-Side Request Forgery (SSRF) 关于滥用服务器端(server-side)功能以迫使后端发起内部请求的 write-up。 **记录的靶场:** - Basic SSRF against the local server - Basic SSRF against another back-end system **主要演示技术:** - 篡改 `stockApi` 参数 - 通过 `localhost` 访问内部面板 - 理解服务器上下文中的环回地址(loopback) - 枚举 `192.168.0.X` 内部网络 - 识别 `8080` 端口上的内部后端 - 通过 SSRF 执行管理操作 ### XML External Entity (XXE) 关于利用配置不当的 XML 解析器、外部实体和读取内部资源的 write-up。 **记录的靶场:** - Exploiting XXE using external entities to retrieve files - Exploiting XXE to perform SSRF attacks **主要演示技术:** - 识别 XML 输入 - 创建 `DOCTYPE` - 使用带 `SYSTEM` 的外部实体 - 使用 `file://` 读取本地文件 - 通过 `&entity;` 调用实体 - 利用 XXE 执行 SSRF - XML、内部实体与外部实体之间的区别 ### 文件上传漏洞 关于不安全的文件上传、在服务器上执行 PHP、基础 web shell 以及绕过薄弱验证的 write-up。 **记录的靶场:** - Remote code execution via web shell upload - Web shell upload via Content-Type restriction bypass **主要演示技术:** - 上传 `.php` 文件 - 使用 `getcwd()` 确认执行 - 使用 `scandir()` 枚举 filesystem - 识别相关目录,如 `/home` - 使用 `file_get_contents()` 读取文件 - 通过更改 `Content-Type` 绕过薄弱验证 - 文件实际扩展名与客户端声明类型之间的区别 ## 展现的技能 - 分析 HTTP/HTTPS 请求 - 使用 Burp Suite Proxy 拦截流量 - 使用 Burp Repeater 进行手动测试 - 使用 Burp Intruder 进行枚举和 fuzzing - 篡改 cookies、参数和 headers - 利用 SQL Injection - 基于条件和 time-based 的 Blind SQL Injection - 利用反射型、存储型和 DOM-based XSS - 分析 JavaScript、sources 和 sinks - 利用 Information Disclosure - IDOR 和 Access Control 漏洞 - 针对本地服务和内部网络的 SSRF - 利用 XXE 读取文件和进行 SSRF - 不安全的文件上传和 web shell 执行 - Linux 环境下的 filesystem 枚举 - 利用图像组织技术证据 - 撰写影响、根本原因和缓解措施 ## 技术与工具 - Burp Suite - 带有 DevTools 的浏览器 - HTTP/HTTPS - HTML - JavaScript - SQL - XML - File Upload 靶场使用的基础 PHP - 基础 Linux filesystem - PortSwigger Web Security Academy ## 仓库结构 ``` web-security-labs/ ├── sql-injection/ │ ├── screenshots/ │ └── Write-ups de SQL Injection ├── xss/ │ ├── images/ │ └── Write-ups de Cross-Site Scripting ├── information disclosure/ │ └── Write-ups de Information Disclosure ├── Broken Authentication/ │ ├── images/ │ └── Write-ups de falhas de autenticação ├── access-control/ │ ├── images/ │ └── Write-ups de falhas de controle de acesso ├── SSRF/ │ ├── images/ │ └── Write-ups de SSRF ├── XXE/ │ ├── images/ │ └── Write-ups de XXE ├── file-upload/ │ ├── images/ │ └── Write-ups de File Upload └── README.md ``` ## Write-up 结构 每篇 write-up 都遵循一个客观的结构,重点关注技术思路和证据: ``` # 实验名称 ## 背景 Descrição breve do lab e do objetivo. ## 初步分析 Primeiros testes, hipóteses e vetores avaliados. ## 利用 Passo a passo da exploração que levou à solução. ## 为何生效 Explicação técnica da causa da vulnerabilidade. ## 影响 Consequência da falha em um ambiente real. ## 缓解措施 Como a falha poderia ser corrigida. ## 经验教训 Pontos práticos absorvidos durante o lab. ``` 只要合适,write-up 都会包含来自 Burp Suite、漏洞应用以及靶场最终解决确认的截图。 ## 仓库亮点 本仓库不仅记录了最终的 payload。其核心理念是记录完整的思考过程: - 最初测试了什么 - 哪些方法不起作用 - 为什么放弃特定的攻击向量 - 哪个细节引出了最终解决方案 - 漏洞的根本原因是什么 - 在真实应用中会有什么影响 - 如何正确修复该漏洞 这种格式使作品集更接近于真实的安全技术分析,而不仅仅是一份靶场答案列表。 ## 未来目标 - 规范所有模块中的文件名 - 审查旧 write-up 的标题和摘要 - 改善每个靶场的图像组织结构 - 添加按类别划分的内部索引 - 审查技术术语的表述和文本的清晰度 - 更一致地添加严重程度、影响和缓解措施 - 将该仓库发展为面向 Application Security / SOC / Pentest Jr 的作品集 ## 伦理使用 本仓库仅供教育目的。 所记录的靶场属于 PortSwigger Web Security Academy,并在受控环境中完成。此处描述的技术仅应用于自有系统、靶场环境或具有明确授权的应用程序。 ## 联系方式 GitHub: [@Andrey-Soares8](https://github.com/Andrey-Soares8) LinkedIn: [andreysoares8](https://www.linkedin.com/in/andreysoares8/) 建立此仓库是为了记录在 Web 应用安全领域的实践进展。
标签:Burp Suite, CISA项目, Web安全, XSS, 多模态安全, 多线程, 数据可视化, 数据泄露, 渗透测试笔记, 漏洞分析, 漏洞情报, 蓝队分析, 路径探测, 靶场实践