加密网站和API的常见安全漏洞

2020-12-22 20:16:32

有许多加密货币初创公司提出了越来越多的加密货币流行的想法。作为一名金融科技爱好者,我会尽可能多地探索加密网站,钱包,DeFi系统以及作为漏洞赏金猎人-我将对其进行测试。

本周,我测试了几个加密应用程序,这些应用程序之间似乎存在某种安全漏洞。

这些安全问题大部分与注入,绕过禁用的表单和访问控制有关。

通过X-forwarded-for标头注入:通常,大多数加密网站都会保存登录IP,并具有一些围绕IP白名单的功能。登录通知的示例–也出现在仪表板中如果没有在服务器端进行适当的验证,则可以使用XFF标头注入该字段。这些注入的范围从无害的XSS到服务器端代码注入,下面是一个示例:XFF注入的示例这些应用程序中的大多数都使用REST体系结构,因此,根据您在这些JSON字段中的使用位置,这些API注入会导致严重的损害。

绕过禁用的输入字段:在某些面板中(Crypto / FinTech网站的)禁用了某些输入字段。在大多数情况下,这些字段是名称,用户名和电子邮件-禁用它们是有道理的,因为不应针对KYC和合规性问题定期更新这些字段。只是在客户端从HTML表单禁用它们是一个坏主意,可以通过Burp和Zap这样的浏览器代理轻松绕过它。有时,甚至不应该更新的字段(例如货币,语言和时区)也可以注入。这是一个示例:同样,由于REST架构,如果您在其他地方使用这些用户数据,则可能会导致注入问题,从XSS到服务器端代码执行

访问控制:这是一个复杂而深入的主题,但我将分享两个示例:身份验证令牌弱和会话管理不当。从HTTP基本身份验证,JWT到复杂的加密实现,有很多方法可以在REST中对用户进行身份验证。无论您使用什么形式的身份验证令牌,请确保您不只是对用户数据(例如用户ID和时间戳)进行BASE64编码。如果是JWT,请在启用HMAC的情况下使用更长的机密,建议使用RS256(非对称算法),而alg标头应使用HS256(对称)。另外,JWT存在一些已知问题,您可以在https://www.cvedetails.com/product/35664/Jwt-Project-JWT.html?vendor_id=16053和https://auth0.com上了解更多有关JWT的信息。 / blog / brute-force-hs256-可能是使用强键签名jwts的重要性/进入会话管理–这里最常见的问题是会话固定。建议在用户注销时结束会话。所有Cookie和会话ID均不应在新会话中使用,但在大多数情况下并非如此。在某些情况下,即使已生成新的会话ID,也不会禁用旧的会话ID。 Remitano就是这种情况,我在其关于Hackerone的漏洞赏金计划中提交了该问题:这是相同的视频POC:https://youtu.be/543g_6UbIS0再次确保会话ID是不可预测的。

到此为止,希望您对这篇简短的帖子有所帮助。如果您是加密货币或金融科技创业公司,并且正在寻求安全审计,我们应该谈谈🙂如果您有任何疑问,关于此帖子的建议,请随时与我的Twitter联络。