MARS-0416 攻击事件

被攻击合约:0x10ed43c718714eb63d5aa57b78b54704e256024e交易哈希:0x25e2af0a55581d5629a933af9fedd3c70e6d0c320f0b72700ca80e5cdd36c80b漏洞原因MARS是一个feeontoken,当用户转

被攻击合约:0x10ed43c718714eb63d5aa57b78b54704e256024e

交易哈希:0x25e2af0a55581d5629a933af9fedd3c70e6d0c320f0b72700ca80e5cdd36c80b

漏洞原因

MARS是一个fee on token,当用户转账时,会对非白名单用户收取一定的fee。

漏洞发生在MARS在转账时,如果to地址为uniswap v2,则会burn一定的token,计算公式为:amount * burnRate / BIPS

image-20240418121938342

攻击者先通过闪电贷借入大量BNB,然后每次用一个BNB去交换,获得970 decimals() MARS,最终获得194000 decimals(),总共执行了200次。接着攻击者再每次将1000 decimals()交换为BNB,在这过程中,uniswap v2每次会被烧毁`1000 decimals() burnRate / BIPS` 的金额,大约烧毁1900 decimals() mars,每次大约获得1.4 BNB。最终攻击者大约获得20个 BNB

个人认为 燃烧uniswap池子里的token的想法是为了控制token的价格,防止mars的价格过低,但是burnRate的数值太高。

修复

减少burnRate值

  • 原创
  • 学分: 5
  • 分类: 安全
  • 标签:
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
用户_19673
用户_19673
0x7bd4...a627
江湖只有他的大名,没有他的介绍。