freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

权限漏洞+价格操纵:SwapX被攻击事件分析
2023-02-28 17:30:10
所属地 江苏省

2023年2月27日,BNB Chain上的SwapX项目遭遇到黑客攻击。黑客利用权限漏洞,通过操纵代币DND/WBNB价格,获利约100万美元。

1677575525_63fdc56583eb53be044f6.png!small

SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

、事件分析

攻击者账户地址:0x7d192fa3a48c307100c3e663050291fff786aa1f,简记为0x7d19

攻击合约地址:0xc4bea60f5644b20ebb4576e34d84854f9588a7e2,简记为0xc4be

被攻击合约地址:0x6d8981847eb3cc2234179d0f0e72f6b6b2421a01,简记为:0x6d89

攻击过程如下:

1677575531_63fdc56b3bfa4ee9a27da.png!small

其中,攻击交易的txHash为:

0x3ee23c1585474eaa4f976313cafbc09461abb781d263547c8397788c68a00160

1677575561_63fdc5897c12cc9d2fe94.png!small

1677575565_63fdc58df2e934ea562c0.png!small

(1)查询0x0b70 BUSD对0x6d18授权的额度allowance

(2)将0x0b70授权的BUSD转入BUSD/WBNB交易对,通过swap函数兑换成WBNB;

(3)将WBNB转入WBNB/DND交易对,通过swap函数兑换成DND并返还给0x0b70。

通过以上两步,攻击者利用了0x0b70的授权,通过两次代币兑换抬高了DND/WBNB交易对中的DND的价格。

同样地,攻击者多次利用其他账户地址的授权,进一步抬高交易对DND/WBNB交易对中DND的价格。

最后,攻击者通过DND/WBNB交易对将最初的100万DND兑换成了739.64 WBNB,实现最终获利。

1677575571_63fdc593eb8b7c56aeab7.png!small1677575575_63fdc597a833fe01e973b.png!small

从整个攻击过程中,攻击者利用了各个账户的BUSD对被攻击合约0x6d89的授权,然后通过swap抬高了DND的价格。攻击原因很可能是被攻击合约0x6d89中存在权限校验漏洞,这使得攻击者可以利用该漏洞转移授权的BUSD并实现操纵价格,也可能是被攻击合约没有考虑代币授权对交易池价格的影响。

二、安全建议

针对代币授权(批准)带来的风险,建议:

(1)取消全额授权的情况,根据每次交易交易的金额进行授权;

(2)在交易结束时取消授权;

(3)在合约(如DEX合约)功能设计和实现时,要考虑代币授权的影响,避免价格被操纵的情况;

(4)请专业的审计团队对智能合约进行审计。

# 区块链 # 区块链安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者