被攻击合约:0x10ed43c718714eb63d5aa57b78b54704e256024e交易哈希:0x25e2af0a55581d5629a933af9fedd3c70e6d0c320f0b72700ca80e5cdd36c80b漏洞原因MARS是一个feeontoken,当用户转
被攻击合约:0x10ed43c718714eb63d5aa57b78b54704e256024e
交易哈希:0x25e2af0a55581d5629a933af9fedd3c70e6d0c320f0b72700ca80e5cdd36c80b
MARS是一个fee on token,当用户转账时,会对非白名单用户收取一定的fee。
漏洞发生在MARS在转账时,如果to地址为uniswap v2,则会burn一定的token,计算公式为:amount * burnRate / BIPS
。
攻击者先通过闪电贷借入大量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值
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!