Skip to content

snn20/schnoodle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

welcome to unhacked

unhacked is a weekly ctf, giving whitehats the chance to go back in time before real exploits and recover funds before the bad guys get them.

you are a whitehat, right anon?

meet schnoodle

schnoodle is a dao on ethereum mainnet, governed by the SNOOD token.

after running smoothly for its first ~year, on 6/18, the ETH-SNOOD uniswap pair was drained for over 100 ETH.

review the code in this repo, find the exploit, and recover > 100 ETH.

(hint: the issue is in the token implementation, so focus on src/SchnoodleV9.sol and src/imports/SchnoodleV9Base.sol. no need to look at the other files)

how to play

  1. fork this repo and clone it locally.

  2. create an .env file with an environment variable for ETH_RPC_URL (or add the rpc url directly into the test file).

  3. review the code in the src/ folder, which contains all the code at the time of the hack. you can explore the state of the contract before the hack using block 14983600. ex: cast call --rpc-url ${ETH_RPC_URL} --block 14983600 0xd45740ab9ec920bedbd9bab2e863519e59731941 "getFarmingFund()"

  4. when you find an exploit, code it up in SchnoodleHack.t.sol. run the test with forge test -vvv. the test will pass if you succeed.

  5. post on twitter for bragging rights and tag @unhackedctf. no cheating.

subscribe

for new weekly challenges and solutions, subscribe to the unhacked newsletter.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 100.0%