Beosin:sDAO 合约业务逻辑存在漏洞,攻击者获利超 1.3 万 BUSD

2022-11-21 21:20
收藏

ChainCatcher 消息,根据区块链安全审计公司 Beosin 旗下 Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,BNB Chain 上的 sDAO 项目遭受漏洞攻击。Beosin 分析发现 sDAO 合约的业务逻辑存在错误,getReward 函数是根据合约拥有的 LP 代币和用户添加的 LP 代币作为参数来计算的,计算的奖励与用户添加 LP 代币数量正相关,与合约拥有总 LP 代币数量负相关,但合约提供了一个 withdrawTeam 的方法,可以将合约拥有的 BNB 以及指定代币全部发送给合约指定地址,该函数任何人都可调用。

而本次攻击者向其中添加了 LP 代币之后,调用 withdrawTeam 函数将 LP 代币全部发送给了指定地址,并立刻又向合约转了一个极小数量的 LP 代币,导致攻击者在随后调用 getReward 获取奖励的时候,使用的合约拥有总 LP 代币数量是一个极小的值,使得奖励异常放大。最终攻击者通过该漏洞获利约 13662 枚 BUSD。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 如发现站内内容含敏感信息,可点击 “举报”, 我们会及时处理。