Subscribe to skye
Receive the latest updates directly to your inbox.

Defi安全挑战系列-Damn Vulnerable DeFi(#5 The Rewarder)

skye
July 05
ERC20Snapshot.sol

Defi安全挑战系列-Damn Vulnerable DeFi(#15 ABI Smuggling)

skye
July 04
有一个权限设置的保险库,其中存入了一百万个DVT代币。该保险库允许定期提取资金,并在紧急情况下全部提取资金。

Defi安全挑战系列-Damn Vulnerable DeFi(#14 Puppet V3)

skye
July 04
创建PuppetV3Attack.sol

Defi安全挑战系列-Damn Vulnerable DeFi(#13 Wallet Mining)

skye
July 04
其实这次挑战的背景是在22年6月份$OP被盗有关。下面这篇把背景知识和结果分析不错的文章:

Defi安全挑战系列-Damn Vulnerable DeFi(#12 Climber)

skye
June 30
有一个安全保险库合约,保管着1000万个DVT代币。该保险库是可升级的,遵循UUPS模式。

Defi安全挑战系列-Damn Vulnerable DeFi(#11 Backdoor)

skye
June 28
检查代码发现WalletRegistry.sol中的proxyCreated方法中的断言都是判断实现的钱包地址中是否含有GnosisSafe.sol属性,所以就复制GnosisSafe.sol源码创建FakeGnosisSafe.sol,在复制的代码中加了一条转账的逻辑,因为通过WalletRegistry.sol的断言后获得奖励要给攻击者。

Defi安全挑战系列-Damn Vulnerable DeFi(#10 Free Rider)

skye
June 28
这个挑战蛮有意思的,有两个亮点。 第一,FreeRiderNFTMarketplace.sol的\_buyOne有一处逻辑BUG。

Defi安全挑战系列-Damn Vulnerable DeFi(#9 Puppet v2)

skye
June 27
池子换成了uniswap v2,池子深度还是很浅,出题人目的想考察答题者对uniswap v2 swap方法的了解。 借贷池的的价格预言机是根据uniswap中币对ETH-DVT的余额换算的,直接使用手中的ETH借贷肯定无法借出所有DVT,所以答题者卖掉持有的所有DVT到uniswap池子中,DVT的价格骤降。再使用ETH去找借贷池可以借出所有的DVT,完成挑战目标。

Defi安全挑战系列-Damn Vulnerable DeFi(#8 Puppet)

skye
June 27
分析PuppetPool.sol发现,借贷比例是根据uniswap中ETH和token的比例确认的。如果直接使用25ETH只可以买25个DTV,无法满足题目要求消耗所有借贷池中所有DVT。分析发现uniswap池子中的流动性很“浅”,只有10个ETH加10个DVT。如果将1000个DVT全部卖掉,DVT的价格会显著降低,只需要20个ETH左右就可以购买所有的100000。