聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
英国网络安全公司 Fortbridge 的安全研究人员在应客户委托查看一份渗透测试报告时,在csurf开源软件中发现了更为严重的跨站点请求伪造 (CSRF)漏洞。在这份报告中,一个被标记为CSRF cookie的问题缺少安全标记。
Fortbridge 公司的云应用程序安全顾问 Adrian Tiron 发布博客文章指出,该漏洞最终溯源至依赖于csurf 的node.js应用程序。
Csurf 是一个供开发人员通过会话或cookie为创建和验证CSRF令牌创建中间件的项目。即使该NPM包最近一次正式更新是在三年前,但每周的下载量仍然约为40万次。
Tiron 指出,虽然该流行包旨在防御CSRF,但自从上次版本更新以来,其代码中就包含一个CSRF漏洞,任何使用csurf包的应用程序均受影响。
深挖后,渗透测试人员发现了多个更严重的问题,如_csrf cookie 中存储明文机密信息、使用损坏的SHA-1 加密算法、默认缺少对cookie的签名检查、缺少对名称不同的机密或GET/POST参数的标头令牌验证等。
另外,Tiron 解释称,代码中还存在一些“奇怪行为”。例如,该app接受XSRF 空令牌,可以从盐和机密中创建令牌,导致攻击者计算自己的CSRF令牌。
研究团队增加了具有相同名称的第二个cookie,并通过设置特定的Path属性,强迫app使用恶意cookie,即实施“cookie toss(cookie 翻面)”。该团队将CSRF令牌标头传递为GET,从而利用该进程中的软件。
Tiron 表示,“开源软件和商业软件一样可能存在漏洞。依赖于开源软件的企业应当意识到它们背后通常是志愿者且没有安全工具或渗透测试的预算。”
6月2日,Fortbridge 公司将研究成果提交给包开发人员。一天后,csurf 项目证实问题存在。进一步调查后,据称维护人员决定将该软件标记为“过时”软件。
Tiron 表示,“流行的开源库备受攻击者青睐,因为它们影响大量集成这些库的应用程序。即使它是开源的,应该有很多双眼睛盯着,但实际上有时候因为缺少安全技能或者因为没有漏洞奖励计划,因此很少有人会查找漏洞。”
Tiron 总结称,“我们所看到的是,企业在这个领域反应迅速(他们仅依赖于打补丁),不过我们建议他们应当发挥更积极的作用,做好安全检查。”
https://portswigger.net/daily-swig/csrf-flaw-in-csurf-npm-package-aimed-at-protecting-against-the-same-flaws
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~
原文始发于微信公众号(代码卫士):CSRF防御机制反被CSRF误,csurf 开源NPM包被弃
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论