WEB3安全:详解VISTA攻击事件
OK来啦,其实这篇在事件刚发生的时候就已经调研的差不多了但是一直没时间写
(本篇主要还是记录学习,如有纰漏还望多多指教)
先看下攻击相关报道:

根据推文所知:根本原因似乎是 VISTA 的 flashloan() 函数,在闪贷结束时,返回的代币只是简单地直接烧毁,而没有检查这些代币(其中一些)是否被质押
攻击交易:(https://bscscan.com/tx/0x84c385aab658d86b64e132e8db0c092756d5a9331a1131bf05f8214d08efba56)
那我们就看下详细攻击


很怪,通过资金流向也不难看出,攻击者通过VistaFinanceICO仅用1594 BUSD就换到了1594 VISTA,但是根据之后VISTA在PancakeSwap进行交易后获得的BUSD数量可以知道这个价格是有问题的
那么我们来详细看一下VistaFinanceICO的源码部分

哦吼,它这里应该是为了使用户长期持有代币所以可以使用户以一个较低的价格购买VISTA但是有质押周期,未到接触质押时间则不可交易转移等操作
在VISTA合约中是有做transfer和transferFrom相关限制的

但是他小子应该是还想赚个flash Loan的钱所以其中仍然保留闪电贷功能,因为没有代币池所以选择mint以及burn方法进行借贷,问题就出在这里了,整个flashLoan功能中并未包含对质押代币的限制,等于说绕过了质押周期,之后流入正常swap那就GG了


浙公网安备 33010602011771号