Safeurl HTTP库为Go应用程序带来SSRF保护功能

admin 2023年1月12日09:10:17评论98 views字数 1202阅读4分0秒阅读模式

据其架构师称,一个旨在阻止服务器端请求伪造(SSRF)攻击的新开源库填补了Go开发人员军械库中的一个重大缺口。Safeurl是Go原生net/http.Client的单行替代品,根据允许和阻止列表验证传入的HTTP请求,并防御DNS重新绑定攻击。“所有解析、验证和发出请求的繁重工作都由图书馆完成,”Doyensec安全工程师和Safeurl创建者Viktor Chuchurski和Alessandro Cotto在博客文章中说。“该库以最少的配置开箱即用,同时为开发人员提供他们可能需要的自定义和过滤选项。开发人员不应为解决应用程序安全问题而苦苦挣扎,而应专注于为客户提供高质量的功能。”

Safeurl HTTP库为Go应用程序带来SSRF保护功能

Chuchurski和Cotto表示,他们希望通过SafeCURL和(名称相同但大写不同的)SafeURL为Go应用程序提供与用其他语言编写的对应程序相同的保护。

“我们的客户正在寻求有关减轻SSRF攻击的Go特定解决方案的建议,”两人说。“没有专门为Go构建的东西,所以我们接受了挑战。”

SSRF攻击涉及诱导服务器端应用程序向非预期位置发出请求。

“现代Web应用程序发出HTTP请求很常见,但安全实施可能非常困难,”Chuchurski和Cotto继续说道。

“我们希望我们的图书馆能够满足这一需求。它的设计考虑了易用性,并通过其嵌入式默认设置简单地保护应用程序。”

根据RFC1918的规定,Safeurl默认阻止所有流向私有或保留IP地址的流量。

“明确设置允许的目的地更容易(也更安全),而不是在当今不断扩大的威胁形势下必须处理更新阻止列表,”博客文章解释道。

safeurl.Config可用于自定义safeurl.Client以设置AllowedPorts、AllowedSchemes、AllowedHosts、BlockedIPs、AllowedIPs、AllowedCIDR、BlockedCIDR、IsIPv6Enabled、AllowSendingCredentials和IsDebugLoggingEnabled。

开源库允许配置HTTP重定向、cookie jar设置和请求超时。

DNS重新绑定攻击利用两个或多个连续HTTP请求之间的DNS响应不匹配,通过对用于通过Go的net/dialer包和控制挂钩发出HTTP请求的IP地址执行允许/阻止列表验证来阻止。

研究人员为Safeurl创建了一个夺旗CTF挑战,并向任何成功的人提供“赃物和一些很酷的小工具”。

“我们对我们的代码充满信心,CTF正在对这种信心进行测试,”Chuchurski和Cotto说。“这是一个带有SSRF漏洞的简单Web服务器。

“不同之处在于,触发漏洞的点受到‘safeurl’库的保护。如果有人能够找到旁路,他们会找到进一步的说明。”


原文始发于微信公众号(郑州网络安全):Safeurl HTTP库为Go应用程序带来SSRF保护功能

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月12日09:10:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Safeurl HTTP库为Go应用程序带来SSRF保护功能http://cn-sec.com/archives/1514989.html

发表评论

匿名网友 填写信息