zoukankan      html  css  js  c++  java
  • Burger汉堡闪电贷攻击分析

    先抛出攻击者地址:
    0x6c9f2b95ca3432e5ec5bcd9c19de0636a23a4994
    Txn hash交易:
    0xac8a739c1f668b13d065d56a03c37a686e0aa1c9339e79fcbc5a2d0a6311e333
    根据攻击者的交易可以看到0xae0f538409063e66ff0e382113cb1a051fc069cd这个合约给攻击者钱包转移了不少token。

    具体查看0xae0f538409063e66ff0e382113cb1a051fc069cd这个合约到底做了啥:
    Contract Address 0xae0f538409063e66ff0e382113cb1a051fc069cd | BscScan
    从第一笔token交易记录开始看:
    0xac8a739c1f668b13d065d56a03c37a686e0aa1c9339e79fcbc5a2d0a6311e333
    Binance Transaction Hash (Txhash) Details | BscScan
    我们看到的他利用闪电贷借了6047个bnb,全部换成burger,换出来的burger数量一半送去了0xd0dd735851c1ca61d0324291ccd3959d2153a88d,最后到达了0x7704c4f30c1203cab03d87836932f01a9497d6e9,另一半,他直接池子里swap了bnb回来,大概获得了4478个bnb,然后前面送去0x77类似冻结价格的burger去swap成bnb,也是最终得到了4478个bnb,这样子加起来应该8956个bnb, 最后他还了6062个bnb,在这之前还用491.79个bnb换成了burger。
    借款BNB

    还款BNB

    这次操作后,他就打了10BNB给了攻击者钱包,然后继续下一次攻击。Txn ash:0x40aef37b32748b1eb0e6eff69e2cdb1dbe8f169c8248bf20bf6c29998c1a07da
    Binance Transaction Hash (Txhash) Details | BscScan
    然后利用同样的方式,一半burger去冻结,一半burger去swap成BNB,然后这之间用部分BNB换成burger,准备下一次的攻击。

    由于目前暂时不太熟悉defi的攻击手法,所以接下来引用PeckShield(派盾)的文章进行解释(括号里的是作者自己的理解):
    PeckShield「派盾」安全人员快速定位到 BurgerSwap 遭到闪电贷攻击的原因是攻击者利用重入攻击,在智能合约正常启动第二次存入之前,调用 _update()函数,先兑换了 45,453 BURGER。
    PeckShield「派盾」简述攻击过程:

    第一步,攻击者从 PancakeSwap WBNB-BUSDT 池中借出 6,047.13 WBNB 闪电贷;
    第二步,在 BurgerSwap 中,调用函数 DemaxPlatform.swapExactTokensForTokens() 将 6,029 WBNB 兑换为 92,677 BURGER;
    第三步,在 BurgerSwap 平台创造假币 BURGER-Fake LP,并增发 100 枚假币和 45,316.6 BURGER;(攻击者创建了一个fake的代币,然后铸币了100枚,接着拿着100枚代币与上诉兑换的burger代币的一半数量形成流动池,然后产生出BURGER-Fake LP的代币)
    第四步,将 100 枚假币兑换为 45,316.6 WBNB;
    第五步,在此步骤中攻击者通过重入攻击来攻击合约,做了另一笔兑换,将 45,453 BURGER 兑换为 4,478.6 WBNB;
    攻击者从上述两步中,共计获得 8,800 WBNB。接着,攻击者将 493 WBNB 在 BurgerSwap 中兑换为 108,700 BURGER,并返还闪电贷完成攻击。
    “优秀者模仿 , 伟大者剽窃。”

    “优秀者模仿 , 伟大者剽窃。”
  • 相关阅读:
    sql2slack alash3al 开源的又个轻量级工具
    pgspider fetchq 扩展docker镜像
    godns 集成coredns 的demo
    godns 简单dnsmasq 的dns 替换方案
    aviary.sh 一个基于bash的分布式配置管理工具
    使用coredns 的template plugin实现一个xip 服务
    nginx 代理 coredns dns 服务
    基于nginx proxy dns server
    几个不错的geodns server
    spring boot rest api 最好添加servlet.context-path
  • 原文地址:https://www.cnblogs.com/ph4nt0mer/p/15210840.html
Copyright © 2011-2022 走看看