First to clear all 11 challenges
1 full SCH seat · €450
Unlocked hints
Unlock a hint to view it here.
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "openzeppelin-contracts-06/math/SafeMath.sol";
contract Fallout {
using SafeMath for uint256;
mapping(address => uint256) allocations;
address payable public owner;
/* constructor */
function Fal1out() public payable {
owner = msg.sender;
allocations[owner] = msg.value;
}
modifier onlyOwner() {
require(msg.sender == owner, "caller is not the owner");
_;
}
function allocate() public payable {
allocations[msg.sender] = allocations[msg.sender].add(msg.value);
}
function collectAllocations() public onlyOwner {
msg.sender.transfer(address(this).balance);
}
}
Starter exploit
// Already wired up for you - do NOT add imports or a contract wrapper:
// falloutInstance -> the deployed Fallout contract
// PLAYER_PRIVATE_KEY / PLAYER_ADDRESS -> your key and address
// Write only the code below.
function run() external {
vm.startBroadcast(PLAYER_PRIVATE_KEY);
// TODO: implement the exploit.
vm.stopBroadcast();
}
CTF tour
This is your guided Solidity CTF workspace.
€900 worth · Two ways to win
1 full SCH seat · €450
1 full SCH seat · €450
August 4 to August 11, 2026. Winners are emailed after the event ends. One prize per player.
Sign in to save private notes on contract lines and continue your review later.
This removes it permanently from your private workspace.