DFS事件 漏洞分析

  • Archime
  • 更新于 2023-01-01 15:48
  • 阅读 3088

DFS事件 漏洞分析

1、DFS漏洞简介

https://twitter.com/CertiKAlert/status/1608788290785665024

1.png

2、相关地址或交易

查看dex交易信息:

2.png 攻击交易: https://bscscan.com/tx/0xcddcb447d64c2ce4b3ac5ebaa6d42e26d3ed0ff3831c08923c53ea998f598a7c 攻击合约:0x87bfd80c2a05ee98cfe188fd2a0e4d70187db137 攻击账号:0xb358bfd28b02c5e925b89ad8b0eb35913d2d0805 被攻击合约:DFS 0x88eBFd7841D131BCeab3e7149217aa8e36985a40

3、获利分析

3.png

4、攻击过程&漏洞原因

查看攻击交易过程,发现池子中的DFS代币数量在调用skim后变多,注意skim的接收地址为DFS-LP自身:

4.png 查看DFS代币的合约代码,分析转账过程:

5.png 1) 转账时先通过if (to == address(pair) || from == address(pair) ) 判断是否满足条件,from、to的地址都是pair,因而满足条件: 2) 判断 if (takeFee && !exclusiveFromFee[from]) 是否满足,查看合约值为true,不满足,跳过发送方代币扣款步骤,直接执行 _balance[to] = _balance[to].add(amount); 增加接收方的代币余额:

6.png

3) 重复此步骤,可一直增加DFS-LP池子中的DFS代币。 4) 攻击者最后其实可直接执行swap()函数获取BSC-USD代币,无需再通过transfer()转移给DFS-LP池子。

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

1 条评论

请先 登录 后评论
Archime
Archime
0x96C4...508C
江湖只有他的大名,没有他的介绍。