Sploitus

Exploit for smart-contract-security-training

githubexploit Β· 2026-08-28

Exploit Code

README58 lines
## https://sploitus.com/exploit?id=C2E7EBBB-C89D-5208-BA04-9ABBF5CC58A8
# Smart Contract Security Training

Hands-on smart contract security training with **runnable Foundry PoCs** β€” not just theory.

## What's inside

| Track | Coverage | Status |
|---|---|---|
| **Ethernaut (classic)** | All 31 levels β€” solution + exploit tests | βœ… 31/31 |
| **Ethernaut 2025** | 9 new levels β€” signatures, EIP-7702, reentrancy | βœ… 7/9 (2 WIP) |
| **Damn Vulnerable DeFi** | 10 exploits β€” reentrancy, oracle, access control | βœ… done |
| **Reports** | HackenProof/Immunefi-style write-ups | βœ… 4 examples + template |

Every exploit is a **Foundry test you can run** β€” see exactly how the attack works, then read the report for the fix.

## Highlights (Ethernaut 2025)

- **Impersonator / Forger** β€” ECDSA signature malleability bypasses used-signature guards
- **EllipticToken** β€” spoofable permit hash drains a signer's balance
- **UniqueNFT** β€” EIP-7702 turns an EOA-only mint into a reentrancy hole
- **BetHouse** β€” deposit + lock flow to register as bettor
- **MagicAnimalCarousel** β€” crate owner overwrite

## Quick start

```bash
git clone https://github.com/Doritra/smart-contract-security-training.git
cd smart-contract-security-training
forge build
forge test          # runs every exploit + control test
```

Requirements: [Foundry](https://getfoundry.sh) (forge).

## Layout

```
src/ethernaut/        # Ethernaut classic level contracts
src/ethernaut2025/    # Ethernaut 2025 fixtures (local models of the originals)
test/ethernaut/       # exploit + control tests (classic)
test/ethernaut2025/   # exploit + control tests (2025)
```

## Reports

HackenProof/Immunefi-style write-ups for the exploits (severity, root cause, PoC, impact, fix):

- [`reports/`](reports/) β€” template + 4 example reports

## Notes

- The 2025 fixtures are **local models** of the originals (same vulnerability, same exploit surface) β€” the originals require OpenZeppelin 4.6-era dependencies not vendored on modern Foundry.
- Withdrawal of Forger mints 200 ether; cashback uses EIP-7702 delegation (`0xef0100` prefix) β€” see the tests.

## License

MIT