Damn Vulnerable DeFi是一个用于学习DeFi漏洞的闯关游戏,比起CTF来说,Damn Vulnerable DeFi更接近真实漏洞场景。 题目地址: https://www.damnvulnerabledefi.xyz/index.html 使用方法: 克隆仓库并切换到v2.1.0分支 使用yarn安装Node依赖 test文件夹中存放着对应每个题目的*.challenge.js文件来模拟合约的部署和攻击流程,我们需要补全相关代码来完成指定的攻击以跑通该单元测试(使用yarn run challenge-name来验证挑战是否完成) 第一关、第二关相对简单,略过。第三关相对有趣一点。 第三关Truster是一个借贷池子,该池子的floashloan函数可提供闪电贷功能。与常见的闪电贷不同,该函数并非借出贷款给msg.sender,而是可指定borrower。第二点不同就是,可以通过target.functionCall(data);使得该池子对任意合约发起调用。 题目目标:池子内存有100个代币,攻击者持有0个代币,攻击者需要将池子内的代币转移给自己。 题目源码...