@tiannah
Challenge 2 of Damn Vulnerable DeFi: Naive Receiver. Done.
1010 WETH. 2 transactions. That was the puzzle.
My first thought - trigger 10 flash loans to drain the receiver. Then I counted. That's 10 transactions; I only had 2.
Two bugs to chain:
- The receiver had zero access control. Anyone could trigger loans on its behalf, it just paid every time
- Pool read the last 20 bytes of calldata to identify callers. Append any address, impersonate anyone
Packed everything into one multicall. 10 flash loans + a withdrawal disguised as the fee receiver. 1010 WETH to recovery.
The 2 transaction limit wasn't the vulnerability. It was the constraint that forced me to actually think.
[PASS] ✅