🎉 亲爱的广场小伙伴们,福利不停,精彩不断!目前广场上这些热门发帖赢奖活动火热进行中,发帖越多,奖励越多,快来 GET 你的专属好礼吧!🚀
🆘 #Gate 2025年中社区盛典# |广场十强内容达人评选
决战时刻到!距离【2025年中社区盛典】广场达人评选只剩 1 天,你喜爱的达人,就差你这一票冲进 C 位!在广场发帖、点赞、评论就能攒助力值,帮 Ta 上榜的同时,你自己还能抽大奖!iPhone 16 Pro Max、金牛雕塑、潮流套装、合约体验券 等你抱走!
详情 👉 https://www.gate.com/activities/community-vote
1️⃣ #晒出我的Alpha积分# |晒出 Alpha 积分&收益
Alpha 积分党集合!带话题晒出你的 Alpha 积分图、空投中奖图,即可瓜分 $200 Alpha 代币盲盒,积分最高直接抱走 $100!分享攒分秘籍 / 兑换经验,中奖率直线上升!
详情 👉 https://www.gate.com/post/status/12763074
2️⃣ #ETH百万矿王争霸赛# |ETH 链上挖矿晒收益
矿工集结!带话题晒出你的 Gate ETH 链上挖矿收益图,瓜分 $400 晒图奖池,收益榜第一独享 $200!谁才是真 ETH 矿王?开晒见分晓!
详情 👉 https://www.gate.com/pos
OrionProtocol遭重入攻击 损失约290万美元
OrionProtocol遭受重入攻击事件分析
2023年2月2日下午,以太坊和币安智能链上的OrionProtocol项目因合约漏洞遭受重入攻击。攻击者共获利约290万美元,其中包括以太坊链上的2,844,766 USDT和币安智能链上的191,606 BUSD。
攻击过程分析
攻击者首先部署了一个自定义Token合约,并进行了一系列转移和授权操作为后续攻击做准备。随后,攻击者通过某DEX的swap功能借款,并调用OrionProtocol的ExchangeWithAtomic.swapThroughOrionPool方法进行代币兑换。兑换路径设置为[USDC, 攻击者Token, USDT]。
在执行swapThroughOrionPool方法时,由于攻击者的Token合约中包含回调功能,导致在转账过程中触发了重入攻击。攻击者利用Token.Transfer方法反复调用ExchangeWithAtomic.depositAsset函数,使存款金额不断累加。最终,攻击者通过提款操作完成了获利。
资金流向
据链上数据显示,攻击者的初始资金来自某交易平台的热钱包。获利的1,651个ETH中,657.5个仍留在攻击者的钱包地址,其余已通过混币服务进行了转移。
漏洞分析
漏洞的核心在于ExchangeWithAtomic合约的doSwapThroughOrionPool函数。该函数在执行_doSwapTokens操作时,存在逻辑缺陷。具体来说,代码在执行转账后才更新curBalance变量,这为重入攻击创造了条件。
攻击者通过在自定义Token的transfer函数中添加回调逻辑,反复调用depositAsset函数,导致curBalance更新错误。最终,攻击者在偿还闪电贷后,调用withdraw函数提走超额资金。
防范建议
为避免类似攻击,项目方应注意以下几点:
在实现代币兑换功能时,需全面考虑各种Token类型和兑换路径可能带来的安全风险。
严格遵循"检查-生效-交互"(Checks-Effects-Interactions)的编码模式,即先进行条件检查,然后更新状态变量,最后才执行外部调用。
增强对外部调用的安全控制,特别是在处理用户自定义Token时。
定期进行代码审计和安全测试,及时发现并修复潜在漏洞。
使用成熟的安全库和最佳实践,如OpenZeppelin的SafeERC20等。
通过采取这些措施,可以大大降低智能合约被攻击的风险,提高项目的整体安全性。