ThaySan
  • πŸ‘‹Bienvenue
    • Avant-propos
  • 🚩CTF & Writeups
    • 2025 | EC2
      • Let's Crax
    • 2025 | HackDay
      • πŸ”‘Cryptographie
        • Drunk Christmas
        • Find Eve 1
        • Well hidden message - Standard Code Encryption
      • πŸ”ŽForensic
        • Copperwire Extraction
        • Distracted user
        • I believe you can't fly
      • 🧠Misc
        • Hello Steve
      • πŸ’ΎProgrammation
        • Lonely bot
        • Lonely bot #2
        • Lonely bot #3
        • Useless Animals Sorting
        • Who cares about SSI anyway ?
      • βš™οΈReverse
        • Just dig
        • Rusty_rev
        • The Cogs of Blackmail
      • 🎭Steganographie
        • It says a lot when there is no music
        • Mona LSB
        • Well hidden message - Insignificant blue
      • 🌐Web
        • Super Website Verificator 3000
        • The analytical engine leak
        • The Watchful Gears: Uncover the Secrets Within
        • Your region's finest
    • 2024 | Efrei - CyberNight
      • πŸ”‘Cryptographie
        • Clavier spΓ©cial
        • Le futur
        • Securechain 30.0
        • Cascade
        • Shared Flag
        • Weird Algorithm
      • 🧊Minecraft
        • Introduction
        • Non aux Bouquins TrafiquΓ©s
        • Redstone Gold Block
      • πŸ’ΎProgrammation
        • Captcha 1.0
        • Intro Γ  la prog
        • Captcha 2.0
      • βš™οΈReverse
        • Reverse the Reverse
        • Find me if you can
        • HuGO Decrypt
        • Kitten eXORcism
        • M30W Vault Tech
        • The Ugandan Labyrinth
      • 🎭StΓ©ganographie
        • Le message
        • bon Le ordre
        • COD FORFLAG
        • Mauvaise note
        • Bruit
        • Un (un ?) drΓ΄le de QR code
        • RandonnΓ©e Guillerette Γ  Bordeaux
      • πŸ’»SystΓ¨me
        • Marche-pied
        • Escabot
        • rΓ©gulation des DonnΓ©es et des Normes de SΓ©curitΓ©
      • 🌐Web
        • cybernight.zip
        • Mon champion prΓ©fΓ©rΓ©
        • Co(mpressed)okies
        • Gitty Mistake
        • JWT Kiddo
        • Parseur Farceur
      • L'enquΓͺte
        • L'enquΓͺte 2/6
        • L'EnquΓͺte 1/6
        • Bienvenue, enquΓͺteur
    • 2024 | Star-Hack
      • πŸ”‘Cryptographie
        • CΓ©sar, mais pas CΓ©sar
        • Double ennui
        • Langage secret
        • Quadratique MystΓ©rieuse
        • ReSultAt
        • Sup3r S3cr3t
        • Warmup
      • πŸ”ŽForensic
        • Cache-cache
        • Fichier ZIP protΓ©gΓ© par mot de passe
        • HEADER
        • Investigation 1
        • Investigation 2
      • 🧠Misc
        • B4l4d3 Urb41n3
        • Bruhh, c'est quoi Γ§a ?
        • Cut13
        • Pika Pika
      • 😈Pwn
        • Pwn0x01
        • Pwn0x02
        • Pwn0x03
      • βš™οΈReverse
        • Assembly
        • Rev0x00
        • Rev0x01
        • Rev0x02
      • 🌐Web
        • Clone Udemy
        • Flask
        • Guess_The_Passcode
        • PHP
        • Tickets
        • Usine de Cookies
    • 2024 | ECW
      • πŸ”‘Cryptographie
        • Course hipPIN
    • 2024 | CTFREI Intro
      • πŸ”‘Cryptographie
        • AES Intro
        • AlΓ©atoire
        • Game of Luck
        • RSA Intro
        • RSA2
        • RSA3
      • πŸ”ŽForensic
        • Mais qui est le photographe ?
        • Mais oΓΉ est passΓ© mon flag ?
        • MΓ©moire 1/4
        • MΓ©moire 2/4
        • MΓ©moire 3/4
        • MΓ©moire 4/4
        • My computer is talking
      • πŸ“šOSINT
        • Avion ✈
        • Geoint
        • Google!
        • Googlint
        • Le pivot
        • Le temps commence maintenant
        • SacrΓ© dossier
        • Socint
      • πŸ’ΎProgrammation
        • Try Me
        • Answer Me
        • Eval Me
        • Time Based
      • 😈Pwn
        • BOF Intro
        • Shop
        • BOF 2
        • BOF win()
      • βš™οΈReverse
        • CrackMe1
        • CrackMe2
        • CrackMe3
        • Hidden...
        • Something changed?
        • ZZZ
      • 🎭StΓ©ganographie
        • Cybernight Γͺtre comme
        • Joli paysage
        • Petit poisson
        • StegHide 'n' Seek
        • Un canard pas comme les autres
      • πŸ’»SystΓ¨me
        • Bash Jail
        • Bash Jail Revenge
        • BrokenBin
        • GTFO Of Here
        • Pyjail
        • Pyjail Revenge
        • Strange input, right?
      • 🌐Web
        • SQLi
        • POST This Money
        • Give me my Flask PIN
        • Access
        • Render
        • RenderV2
        • Touchy
    • 2024 | DefCamp
      • πŸ”‘Cryptographie
        • conv
        • oracle-srl
        • ctr
      • πŸ”ŽForensic
        • i-got-a-virus
        • Alternating
        • call-me-pliz
      • 🧠Misc
        • pyterm
      • πŸ“±Mobile
        • mobisec
      • πŸ“šOSINT
      • 😈Pwn
      • βš™οΈReverse
      • πŸ•΅οΈTraque
      • 🌐Web
        • noogle
        • production-bay
    • 2024 | 404CTF
      • πŸ”‘Cryptographie
        • BΓ©bΓ© nageur
        • Le petit bain
        • Poor Random Number Generator [1/2]
        • Plongeon Rapide Super Artistique
        • J'Γ©ponge donc j'essuie
        • Poor Random Number Generator [2/2]
        • La Seine
        • J'ai glissΓ© chef !
        • SEA - La face cachΓ©e de l'Iceberg
      • πŸ”ŽForensic
        • Le tir aux logs
        • Darts Bank
        • Vaut mieux sΓ©curiser que guΓ©rir
        • De bons croissants au beurre
        • Poids Raw vs. Cours Jette [1/3]
      • πŸ”ŒHardware
        • Serial killer
        • Le soulevΓ© de GND
        • Comment est votre modulation ? [1/2]
        • Sea side channel [1/4] - Introduction
        • Comment est votre modulation ? [2/2]
        • Sea side channel [2/4] - Reconnaissance
        • Sea side channel [3/4] - Mais oΓΉ sont les triggers ?
      • πŸ€–IA
        • Du poison [1/2]
        • Du poison [2/2]
        • Des portes dΓ©robΓ©es
      • 🧠Misc
        • Discord
        • De la friture sur la ligne
        • Bienvenue
        • Revers(ibl)e Engineering [0/2]
      • πŸ“šOSINT
        • LΓ©gende
        • Not on my watch
        • Secret Training [1/2]
      • 😈Pwn
        • Pseudoverflow
        • Jean Pile
        • Mordu du 100m
        • Antismash
      • πŸˆβ€β¬›Quantique
        • Des trains superposΓ©s
        • De l'Γ©coute, pas trΓ¨s discrΓ¨te
        • De la multiplicitΓ© des problΓ¨mes
      • βš™οΈReverse
        • ⭐Échauffement
        • ⭐Intronisation du CHAUSSURE
        • ⭐Bugdroid Fight [1/2]
        • ⭐Revers(ibl)e Engineering [1/2]
        • ⭐Bugdroid Fight [2/2]
        • ⭐Nanocombattants
        • ⭐Revers(ibl)e Engineering [2/2]
        • Le Tableau Noir
      • 🎭StΓ©ganographie
        • ⭐L'absence
        • ⭐Regarder en stΓ©rΓ©o
        • ⭐La Barre Fixe
        • ⭐Le grand Γ©cart
        • ⭐La chute
      • 🌐Web
        • ⭐Vous Γͺtes en RETARD
        • ⭐Le match du siΓ¨cle [1/2]
        • ⭐Exploit mag
        • ⭐Le match du siΓ¨cle [2/2]
        • ⭐LE GORFOU 42
        • ⭐La boutique officielle
    • 2024 | CTFREI - Bordeaux
      • πŸ”‘Cryptographie
        • zzz
      • πŸ“šOSINT
        • Alexis Dumas
        • Back to the bureau
        • Dr Octopus
        • Folie et ambition
        • GeoGuessr
        • Hugo Nelots : prΓ©lude
        • La fin ?
        • La fuite Dumas
        • Un rΓ©seau suspect
      • πŸ’ΎProgrammation
        • Eval me 1
        • Eval me 2
        • Time Based
      • πŸ’»SystΓ¨me
        • Broken Binary 1
        • Broken Binary 2
        • GTFO of here
        • Pyjail 1
        • Pyjail 2
        • Pyjail 3
        • Pyjail 4
      • 🌐Web
        • Au commencement Γ©tait le verb
        • Becadmin
        • PHP Juggler
    • 2024 | HTB - Cyber Apocalypse Challenges
      • πŸ”—Blockchain
        • Lucky Faucet
        • Recovery
        • Russian Roulette
      • πŸ”‘Cryptographie
        • Blunt
        • Dynastic
        • Iced TEA
        • Makeshift
        • Primary Knowledge
      • πŸ”ŽForensic
        • An unusual sighting
        • Data Siege
        • Fake Boost
        • Game Invitation
        • It Has Begun
        • Phreaky
        • Pursue The Tracks
        • Urgent
      • πŸ”ŒHardware
        • BunnyPass
        • Flash-ing Logs
        • Maze
        • Rids
        • The PROM
      • 🧠Misc
        • Character
        • Cubicle Riddle
        • Path of Survival
        • Stop Drop and Roll
        • Unbreakable
        • Were Pickle Phreaks
        • Were Pickle Phreaks Revenge
      • 😈Pwn
        • Delulu
        • Pet Companion
        • Tutorial
        • Writing on the Wall
      • βš™οΈReverse
        • BoxCutter
        • Crushing
        • FollowThePath
        • LootStash
        • MazeOfPower
        • Metagaming
        • PackedAway
        • QuickScan
      • 🌐Web
        • Flag Command
        • KORP Terminal
        • Labyrinth Linguist
        • LockTalk
        • Testimonial
        • TimeKORP
    • 2024 | UNbreakable
      • πŸ”‘Cryptographie
        • start-enc
        • traffic-e
      • πŸ”ŽForensic
        • easy-hide
        • password-manager-is-a-must
      • 🧠Misc
        • rfc-meta
      • πŸ“±Mobile
        • flagen
        • improper-configuration
      • πŸ“‘Network
        • wifi-basic
        • wifiland
      • πŸ“šOSINT
        • persistent-reccon
        • safe-password
      • 😈Pwn
        • intro-to-assembly
      • βš™οΈReverse
        • fake-add
      • 🎭StΓ©ganographie
        • secrets-of-winter
      • 🌐Web
        • pygment
        • sided-curl
        • you-can-trust-me
    • 2023 | EFREI - CyberNight
      • πŸ“šOSINT
        • Invest Now !
      • 😈Pwn
        • NSA Call Converter
      • βš™οΈReverse
        • CryptoVirus
        • WebChaussettes
      • 🌐Web
        • DoctoLeak
    • 2023 | Flag4All
      • πŸ”‘Cryptographie
        • Aes IV
        • Crypt my loop
        • Kentucky fried chicken
        • RSA primes
        • Xor
    • 2022 | EFREI - CyberNight
      • πŸ”‘Cryptographie
        • CoupΓ©-dΓ©calΓ©
        • ExFILEtration
        • Il s'est baissΓ© ou pas
        • J'ai pas rotΓ©
        • Les allemands !
        • RSA Strong Prime generator
      • πŸ”ŽForensic
        • Bomberman 1/2
        • Bomberman 2/2
        • Magic
        • Peu importe le chemin
        • Sniff sniff
        • Souvenir
        • Xray
      • πŸ”ŒHardware
        • Class4
        • Find me 2/3
        • Identify 1/3
        • Yo listen 3/3
      • 🧠Misc
        • Et je tombe tombe tombe
        • Des yeux partout
        • RiGOLe
        • Roomba tricheur
        • Survey
        • Tinder
      • πŸ’ΎProgrammation
        • Repeat
        • Startup
        • Timing
      • βš™οΈReverse
        • Auth 1
        • Auth2
        • Auth3
        • Cryptoroomba
        • Tenet
      • 🎭StΓ©ganographie
        • 50 shades of stephane legar
        • Chess master
        • Deviens champion sers toi de tout ce que tu as appris
        • Drifting in the bits
        • Pyramide
        • Spirale
      • 🌐Web
        • Ah bah c'est du propre
        • Cooking roomba
        • Leaderboard
        • vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
PropulsΓ© par GitBook
Sur cette page
  • Challenge
  • Solution
  • Analyse du site
  • LFI Proof of Concept
  • Forger ses tokens

Cet article vous a-t-il Γ©tΓ© utile ?

  1. CTF & Writeups
  2. 2024 | Efrei - CyberNight
  3. Web

JWT Kiddo

PrΓ©cΓ©dentGitty MistakeSuivantParseur Farceur

Dernière mise à jour il y a 5 mois

Cet article vous a-t-il Γ©tΓ© utile ?

Flag: CYBN{h4ck3r_2_h4ck3r5}

Challenge

Description


J'ai dΓ©couvert un forum assez Γ©trange, apparement Γ§a se refile des solutions sous le manteau pour la CyberNight...

Il faudra pouvoir accèder au compte de l'administrateur du site pour révéler ses plus sombres secrets !

Ce challenge tourne sur un docker et n'est pas disponible

Solution

Analyse du site

En cliquant sur le bouton Obtenir le flag, on voit qu'il faut Γͺtre l'utilisateur admin.

Lors de notre première visite sur le site, un cookie nous a été donné. Il contient un JWT :

Le JWT utilise le champ kid, c'est le champ qui indique la clΓ© utilisΓ©e pour signer le token. En modifiant sa valeur, on obtient une erreur :

On se rend compte que la clΓ© est rΓ©cupΓ©rΓ©e dans le dossier /public/keys/.

En regardant les autres requΓͺtes du site, on peut Γ©galement voir que les messages envoyΓ©s sont enregistrΓ©s dans le dossier /public/data/ :

LFI Proof of Concept

Si l'on remplace le kid par l'un des messages, on confirme que l'on peut les utiliser comme clΓ© de signature puisqu'on a plus d'erreur "No such file".

Forger ses tokens

L'objectif est de crΓ©er notre propre paire de clΓ© privΓ©e/publique, envoyer la clΓ© publique dans le chat et l'utiliser pour la signature. La clΓ© privΓ©e, elle, servira Γ  signer notre prope token.

On commence par crΓ©er la paire de clΓ© avec openssl :

$ openssl genrsa -out private-key.pem 4096
$ openssl rsa -in private-key.pem -pubout -out public-key.pem

Maintenant, on envoie la clΓ© publique dans le chat et rΓ©cupΓ©rer son chemin :

Ce token peut Γͺtre utilisΓ© pour rΓ©cupΓ©rer le flag :

Γ€ partir de maintenant, j'utilise pour explorer le site, avec l'extension JWTEditor pour faciliter le traitement des JWT (c'est tout Γ  fait possible de faire sans rien).

Enfin, on peut aller sur un site comme pour crΓ©er le token avec les infos que l'on a. Il faut mettre le bon header du JWT et changer le nom du user dans le body :

🚩
🌐
BurpSuite
JWT.io