C 600: Capture the Ether Warmup: Deploy a Contract (15 pts.)

What You Need

Purpose

To learn Solidity hacking.

Installing MetaMask

You should already have the MetaMask browser extension installed. If not, get it here:

https://metamask.io/

Follow the on-screen instructions to create an account.

Joining the Ropsten Test Network

In MetaMask, at the top right, click the network button, which names your current network.

If the Ropsten network is not visible, click the "Show/hide test networks" link.

Turn the "Show test networks" slider to ON.

Click "Ropsten Test Network", as shown below.

Close the Settings page.

Copying Your Address

In the MetaMask main page, click the little clipboard icon next to your account number, outlined in green in the image below.

Getting Test Ether

You need more than 2 Ether to play the CTF.

The test wallets are getting stingier, so this is difficult.

Try these faucets. If they fail, try getting Eth from your instructor or other students.

You should have some Ether, as shown below.

Capture The Ether

In your browser, go to: https://capturetheether.com/

A "Connect With MetaMask" box pops up, as shown below.

In the "Connect With MetaMask" box, click Next. Click Connect.

On the "Capture the Ether" page, click "LET'S PLAY".

In the Warmup section, click "Deploy a contract".

Deploying a Contract

You see the "Deploy a contract" page, as shown below.

Read through it, especially the Solidity code at the bottom.

This contract is trivial, always returning "true". The only challenge is to deploy it on the blockchain.

On the left side, click the "Begin Challenge" button.

A MetaMask box pops up, warning you that you are about to spend some Ether, as shown below.

In the MetaMask box, click Confirm.

After a few seconds, the left side of the "Deploy a contract" page shows your contract's address, as shown below.

On the left side, click the "Check Solution" button.

A MetaMask box pops up again. Click Confirm. You win, and a little dancing figure appears on the lower left, as shown below.

Flag C 600.1 GIF Name (15 pts)

In your browser, right-click the little dancing figure and click Inspect.

The flag is the filename of this GIF image, covered by a green rectangle in the image below.

Sources

Ethereum Smart Contract Development | Capture the Ether Problem 1 & 2
Capture the Ether (Part 1 of 3): Exploring Ethereum Lottery Vulnerabilities
Capture The Ether: token sale
Capture The Ether: token whale
Solidity array overflow

Posted 5-20-22 by Sam Bowne