Nextruction [EN]| FCSC 2025

- 10 mins read
Under Nextruction Challenge Writeup Introduction In this challenge, we are exploring a Next.js web application, with a focus on exploitation using SSRF (Server-Side Request Forgery) and header manipulation: Main Application: https://under-nextruction.fcsc.fr:2213 The application features a separate service that stores a flag, which we need to retrieve: services: under-nextruction-app: build: ./src/nextjs ports: - "8000:8000" environment: - FLAG_STORE_KEY=FAKE_KEY - JWT_SECRET=FAKE_SECRET restart: unless-stopped under-nextruction-flag: build: ./src/flag-store environment: - FLAG_STORE_KEY=FAKE_KEY - FLAG=FCSC{flag_placeholder} restart: unless-stopped Understanding the Flag Service The flag service, written in Flask, returns a flag when the correct X-Key header is presented at the /get_flag endpoint:

Shrimp-Say [EN]| FCSC 2025

- 3 mins read
Introduction The challenge presents us with a web application called “shrimp-say” and a bot service to interact with: Application Web: https://shrimp-say.fcsc.fr/ Bot: nc chall.fcsc.fr 2203 (No internet access) The web application allows users to manipulate two parameters, msg and bg, in its URL: https://shrimp-say.fcsc.fr/?msg=Hello%20Shrimp&bg=lightblue These are reflected on the page: <style> body { background-color: lightblue; } ... </style> ... <div class="speech-bubble">Hello Shrimp</div> Parameters Analysis msg: This parameter undergoes filtering to prevent the inclusion of the < character, which could be used for HTML content injection.

EncoDecept [EN] | HTB University CTF 2024

- 18 mins read
Introduction This challenge is one of the 4 challenges in the WEB category published at the University CTF 2024. It is rated medium despite having the lowest resolution in the category. It is therefore considered the hardest web challenge of this edition. Description The Frontier Board’s iron grip on the galaxy rests on one secret: the location of the legendary Starry Spur, hidden deep within their Intergalactic Contract System (ICMS. With rebellion brewing, Jack Colt is humanity’s last hope.

Pong [EN]| FCSC 2024

- 18 mins read
Introduction Ping. Note : l'infra n'a pas accès à internet. The sources for this challenge are provided: . ├── docker-compose.yml └── src ├── backend │ ├── Dockerfile │ └── src │ ├── app.py │ ├── public │ │ ├── index.html │ │ └── js │ │ └── main.js │ └── requirements.txt ├── dns │ ├── Dockerfile │ └── src │ ├── dns_server.py │ └── requirements.txt ├── flag │ ├── Dockerfile │ └── src │ ├── app.
Introduction Venez découvrir la dernière sensation Internet qui promet de battre tous les records ! Dans ce jeu révolutionnaire, vous guiderez un serpent en pleine croissance dans sa quête de pommes. C'est simple mais addictif : dévorez autant de pommes que possible pour étirer votre serpent à des longueurs étonnantes. Êtes-vous prêt à établir de nouveaux records et à devenir une légende dans cette aventure tortueuse ? The sources for this challenge are provided:

ChatterBox | RealWorld CTF 6th

- 13 mins read
Fichiers: ChatterBox_source.zip Description: I wanna inject sth in my Box what should i do? nc <ip> 9999 Solution détaillée: Voici les fichiers fournis par l’auteur: $ tree . . ├── ChatterBox-0.0.1-SNAPSHOT.jar ├── docker-compose.yml ├── Dockerfile ├── flag ├── init.sql ├── readflag └── start.sh En regardant rapidement le Dockerfile, on comprend que le flag est copié dans /flag et que le binaire /readflag va nous permettre de le lire. Un serveur web est unfichier jar et nous allons devoir l’exploiter pour avoir une execution de commande sur le serveur.

Introduction aux réseaux euclidiens

- 6 mins read
Introduction Les réseaux euclidiens (Lattice en anglais) jouent un rôle essentiel en cryptographie moderne. Dans cet article, nous allons explorer l’historique des réseaux euclidiens en cryptographie, leur utilisation dans les systèmes de chiffrement, ainsi que les problèmes mathématiques auxquels ils sont confrontés. Nous nous concentrerons en particulier sur le Closest Vector Problem (CVP) et le Small Vector Problem (SVP), qui sont des problèmes centraux dans ce domaine. Petit point Historique L’étude des réseaux euclidiens en mathématiques remonte au XVIIIe siècle, lorsque Leonhard Euler a commencé à examiner les structures géométriques des points dans l’espace.
/Hint Concentrez-vous sur une section XSS à la fois pour éviter les maux de tête ! 😉 Aussi… les barres obliques (/) sont votre meilleur ami, qui a même besoin d’espaces de nos jours… ? / Rules Une solution valable doit répondre à toutes ces exigences : (1) XSS classique par l’utilisation de balises HTML (2) XSS en restant à l’intérieur des balises originales <script>. (3) XSS à l’intérieur de la valeur ‘src’ (Ne pas sortir des guillemets) (4) XSS à l’intérieur de la balise ‘’ (Ne créez pas une nouvelle balise HTML ou ne brisez pas la balise originale) (5) Exécuter une DOM XSS en restant à l’intérieur de la valeur d’entrée (Ne pas sortir des guillemets) /GOAL Suivre les règles et écrire une charge utile XSS unique qui s’exécute sur les cinq entrées différentes ($xss)
Introduction du challenge: I don't trust those who wrote crypto implementations, so I had to write my own ... I created everything from scratch so I know it is safe ! No one backdoored my Diffie-Hellman implementation ! Btw, I gave you an output of a connection to my service, but anyway you won't be able to get back the secret message Like a Whispering Entropy Avec le challenge sont fournis 2 fichiers :
Introduction du challenge: Objective: Read the flag, situated on the server in /app/flag.txt Tree Viewer Les sources de ce challenge sont fournies : . ├── app.py ├── articles.py ├── config.yaml ├── docker-compose.yml ├── Dockerfile ├── flag.txt ├── input.css ├── package.json ├── package-lock.json ├── requirements.txt ├── static │ └── style.css ├── tailwind.config.js ├── templates │ ├── article.html │ ├── articles.html │ ├── banner.html │ ├── head.html │ ├── home.html │ ├── login.