Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Bank 01: Deposit Vulnerability

Welcome to the second challenge in our banking series! The bank developers fixed the critical withdrawal vulnerability you exploited in the previous level. But is the bank secure now?

What's Changed

Only the oversight from the previous level was fixed.

The New Challenge

The bank supports a nice feature: anyone can deposit funds into anyone else's account. This sounds harmless and useful, right?

But wait... how exactly does such a transaction look like? Is this process validated properly? Play around with the construction of this transaction.

Your Goal

You start with no bank account while another user already has an account with funds deposited. Your goal is to gain control of their funds and withdraw them by using a slightly modified deposit to their account.

How to Solve

  1. Examine the validators to understand how deposits work when updating other accounts.
  2. Copy scripts/player_template.ts to scripts/player.ts.
  3. Implement your exploit in the interaction section of player.ts.
  4. Run your solution with yarn task:bank01 from the project root.

Good luck!