[Ethernaut CTF] Level 12: Privacy
Level 12: Privacy Difficulty: ★★★☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Privacy { bool public locked = true; uint256 public ID = block.timestamp; ...
Level 12: Privacy Difficulty: ★★★☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Privacy { bool public locked = true; uint256 public ID = block.timestamp; ...
Level 11: Elevator Difficulty: ★★☆☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface Building { function isLastFloor(uint) external returns (bool); } contract...
Level 10: Reentrancy ★★★☆☆ Lần này chúng ta sẽ tìm hiểu về một trong những lỗi bảo mật iconic và nghiêm trọng nhất trong smart contract đó là reentrancy attack Given contract // SPDX-License-Identi...
Level 9: King ★★★☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract King { address king; uint public prize; address public owner; constructor() payable { ...
Level 3: Coin Flip ★★☆☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { uint256 public consecutiveWins; uint256 lastHash; uint256 FACTOR = 578960...
Level 8: Vault ★★☆☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Vault { bool public locked; bytes32 private password; constructor(bytes32 _password) { ...
Level 7: Force ★★★☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Force {/* MEOW ? /\_/\ / ____/ o o \ /~____ =ø= / (_____...
Level 6: Delegation ★★☆☆☆ Một challenge liên quan đến low-level function =)) Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Delegate { address public owner; ...
Level 5: Token ★★☆☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; contract Token { mapping(address => uint) balances; uint public totalSupply; constructor(uint...
Level 4: Telephone ★☆☆☆☆ Given contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Telephone { address public owner; constructor() { owner = msg.sender; } func...