microsoft/AntiSSRF

GitHub: microsoft/AntiSSRF

微软开发的安全代码库,通过严格的 URL 验证和网络连接检查来缓解服务器端请求伪造(SSRF)漏洞风险。

Stars: 95 | Forks: 11

# Microsoft AntiSSRF Microsoft AntiSSRF 库是一个经过安全开发、详尽测试的安全代码库,提供强大的 URL 验证功能,以缓解服务器端请求伪造 (SSRF) 漏洞的风险。它是一个易于使用的开箱即用型库,开发人员只需极少的精力即可采用,适用于 .NET 和 Node.js 应用程序。 ## 什么是服务器端请求伪造 (SSRF)? 服务器端请求伪造(也称为 SSRF)是一种严重的 Web 安全漏洞,攻击者可以利用该漏洞操纵服务器端应用程序向任意 endpoint 发起网络请求。通过此漏洞,攻击者可以操纵目标 Web 服务器连接到内部敏感网络,或将敏感数据渗透到 Internet 上的不受信任的 endpoint。 SSRF 可能导致(但不限于)以下情况: - 内部服务暴露 - 敏感数据泄露 - 服务中断 - 远程代码执行 ### 什么是“不受信任的”输入? **所有传入的 HTTP 请求都是不受信任的。** 任何来自服务直接信任边界之外的数据都必须被视为潜在的恶意数据。这包括: - 用户提供的 URL、文件名或标识符 - 来自外部 API、webhook 或合作伙伴服务的数据 - 用户可以影响的配置值、元数据或文件内容 - 来自您自己服务的后端应用程序或同一环境中其他组件的请求(query 参数、headers、表单字段等) 即使是最初看起来不像 URL 的数据也应被视为 URL。例如,拼接到 URL 中的工作区名称或资源标识符。所有用于构建 URL 的不受信任的输入都必须经过验证。 ## Microsoft AntiSSRF 库如何提供帮助 许多在线服务中的一个常见场景是处理来自客户的请求,这些请求中包含由客户提供的、用于构成或构建 URL 的字符串。这些字符串通常未经过适当的验证,从而导致诸如服务器端请求伪造 (SSRF) 等漏洞,进而可能导致 token 被盗。 AntiSSRF 通过以下方式帮助缓解这些风险: - 自动验证 URL 和网络连接,并拒绝/阻止不受信任的输入 - 提供一个 agent,确保 HTTP 请求无法访问内部或敏感的 IP 地址 ## 入门 ### C# (.NET Framework 和 .NET Core) - **NuGet Package**:[Microsoft.Security.AntiSSRF](https://www.nuget.org/packages/Microsoft.Security.AntiSSRF/) - **文档**:[AntiSSRF .NET API 文档](https://microsoft.github.io/AntiSSRF/dotnet-api/) - **快速入门**:[入门指南](https://microsoft.github.io/AntiSSRF/getting-started) - **库 README**:[.NET README](dotnet/README.md) ### JavaScript/TypeScript (Node.js) - **npm Package**:[@microsoft/antissrf](https://www.npmjs.com/package/@microsoft/antissrf) - **文档**:[AntiSSRF Node.js API 文档](https://microsoft.github.io/AntiSSRF/nodejs-api/) - **快速入门**:[入门指南](https://microsoft.github.io/AntiSSRF/getting-started) - **库 README**:[Node.js README](nodejs/README.md) ## 更多资源 ### 了解 SSRF - **AntiSSRF 文档**:[Microsoft AntiSSRF 文档](https://microsoft.github.io/AntiSSRF/) - **OWASP SSRF 指南**:[服务器端请求伪造防范备忘单](https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html) - **PortSwigger Web 安全学院**:[服务器端请求伪造 (SSRF)](https://portswigger.net/web-security/ssrf) - **CWE-918**:[服务器端请求伪造 (SSRF)](https://cwe.mitre.org/data/definitions/918.html) ### 测试工具 - **Dusseldorf**:[动态 SSRF 测试工具](https://github.com/Microsoft/Dusseldorf) - Microsoft 的开源工具,用于动态 SSRF 测试和验证
标签:API安全, API密钥检测, CISA项目, GNU通用公共许可证, JSONLines, JSON输出, MITM代理, Node.js, SSRF防护, URL验证, Web安全, YAML, 代码安全, 安全库, 开发组件, 微软安全工具, 数据可视化, 数据泄露防护, 服务器端请求伪造, 漏洞枚举, 漏洞缓解, 网络安全, 网络探测, 自动化攻击, 蓝队分析, 输入验证, 隐私保护, 零信任