HackTheBox Writeup

SurvivaloftheFittest

SurvivalOfTheFittest

  • Catégorie : Blockchain / Smart contracts
  • Difficulté : Avancé

Résumé

Challenge impliquant des interactions avec des contrats (type Ethereum). Utiliser foundry/cast permet d'exécuter les transactions et de reproduire la résolution.

Prérequis

  • Installer Foundry (foundryup) pour disposer de cast.

Exemple d'utilisation

Remplacer <PRIVATE_KEY> et <TARGET_ADDRESS> par les valeurs adaptées :

cast send --rpc-url http://188.166.175.58:30886/rpc --private-key <PRIVATE_KEY> <TARGET_ADDRESS> "strongAttack(uint256)" 20
cast send --rpc-url http://188.166.175.58:30886/rpc --private-key <PRIVATE_KEY> <TARGET_ADDRESS> "loot()"

Dans le dépôt l'auteur a utilisé une clé privée et des adresses de test (extrait non sensible pour reproduction locale). Conserver les logs de cast aide au débogage (statut de transaction, gas, hash).

Indications

  • Préparer un RPC accessible et une clé de test.
  • Ne jamais utiliser de clés privées réelles lors d'expérimentations.

Références

  • Documentation Foundry / cast.
# SurvivalOfTheFittest

- **Catégorie :** Blockchain / Smart contracts
- **Difficulté :** Avancé

## Résumé

Challenge sur chaîne (Ethereum-like). Nécessite `foundry`/`cast` pour interagir avec le RPC et envoyer des transactions.

## Pré-requis

- Installer `foundry` (commande `foundryup`) pour disposer de `cast`.

```markdown
# SurvivalOfTheFittest

- **Catégorie :** Blockchain / Smart contracts
- **Difficulté :** Avancé

## Résumé

Challenge impliquant des interactions avec des contrats (type Ethereum). Utiliser `foundry`/`cast` permet d'exécuter les transactions et de reproduire la résolution.

## Prérequis

- Installer Foundry (`foundryup`) pour disposer de `cast`.

## Exemple d'utilisation

Remplacer `<PRIVATE_KEY>` et `<TARGET_ADDRESS>` par les valeurs adaptées :

```sh
cast send --rpc-url http://188.166.175.58:30886/rpc --private-key <PRIVATE_KEY> <TARGET_ADDRESS> "strongAttack(uint256)" 20
cast send --rpc-url http://188.166.175.58:30886/rpc --private-key <PRIVATE_KEY> <TARGET_ADDRESS> "loot()"
```

Dans le dépôt l'auteur a utilisé une clé privée et des adresses de test (extrait non sensible pour reproduction locale). Conserver les logs de `cast` aide au débogage (statut de transaction, gas, hash).

## Indications

- Préparer un RPC accessible et une clé de test.
- Ne jamais utiliser de clés privées réelles lors d'expérimentations.

## Références

- Documentation Foundry / `cast`.