Writeups
  • ℹ️Infos
  • 🗓️2021
    • DvCTF (to join DaVinciCode)
      • Crypto
        • Baby RSA
        • Ressaye
        • Unbreakable encryption
      • Forensics
        • Broken Portrait
        • Russian Dolls
        • Sus USB
      • Misc
        • Jus de Flag
        • Welcome
      • OSINT
        • Absolutely Nuts
      • Progra
        • Snoop's Mission
      • Reverse
        • Baby Reverse
        • Basic Cracking
        • Code Pyn
      • Steganography
        • Colorful Code
        • Hurt Your Eyes
        • Orchestra of Flags
        • Tyger
      • Web
        • Have I Been Pwned
        • What's Up ?
  • 🗓️2022
    • DvCTF 2022
      • Crypto
        • Cwryptographic Owacle
        • Secure Or Not Secure
        • small weiner
      • Forensics
        • Very Bad Script
      • Misc
        • Data Leak
        • Going postal
        • The Hacker Man
      • OSINT
        • Elon Musk
        • Monkeey
        • Painting Spot
        • Welcome to the DaVinciCTF!
      • Pentest
        • DaVinci's Playlist : Part 1
        • DaVinci's Playlist : Part 2.5
        • DaVinci's Playlist : Part 2
      • Programming
        • Heaven's Gate
        • Sudoku
        • TicTacToe
      • Reverse
        • CryptoVault
        • Mine Game
        • Obfuscated
        • Peripheral Interface Controller XVI
      • Steganography
        • ICMP
        • The Arts of Details
        • Treasure
      • Warmup
        • EBG13
        • FrenchFlag
        • MP3
        • QmFzZTY0
        • RSA
        • Welcome
      • Web
        • CyberStreak v1.0
        • 🎵
    • picoCTF 2022
      • Challs WU
    • @HackDay - Qualifications
      • Crypto
        • Francis Bacon
        • Francs Maçons
        • Rotate-me!
        • Un message codé ?
      • Forensics
        • bad_timing_for_reversing
      • Hardware
        • Cubik'cipher
        • WebSDR
      • Reverse
        • Calling Conventions
        • Memory Investigation
      • Steganography
        • I can make pictures
        • J'ai perdu le flag :(
        • Pokémons
        • Un coup de maître
        • Un logo cachotier
      • Web
        • GIT!
        • Part. 1 - Uploads
        • Part. 2 - Old md5
        • Part. 3 - sudo python
    • 404CTF
      • Crypto
        • Un simple oracle [1/2]
        • Un simple oracle [2/2]
      • Misc
        • Je suis une théière
        • Pierre-papier-Hallebarde
        • GoGOLFplex
      • OSINT
        • À l'aube d'un échange
        • Collaborateur suspect
        • Equipement désuet
      • Reverse
        • Mot de passe ?
      • Steganography
        • La plume à la main
        • PNG : Un logo obèse [1/4]
        • PNG : Drôles de chimères [2/4]
        • Toujours obèse [3/4]
      • Web
        • Fiché JS
        • Le braquage
        • Du gâteau
        • En construction !
    • Operation Kernel
      • Crypto
        • Scytale
      • Forensics
        • Research Paper
        • Excel Confidential
      • Reverse
        • CryptoLocker
        • What_If_CryptoLocker
      • Social Engineering
        • Pour vivre secure vivons caché
        • Pour vivre secure vivons caché Part 2
      • Stegano
        • AudioSpectre
        • Datacenter
        • Takazume
      • WEB
        • Research paper blog
        • SQL Project 1
        • SQL Project 2
        • SQL Project 3
        • Tenue de soirée requise
  • 🗓️2023
    • 404CTF 2023
      • Résultats
      • Analyse forensique
        • Pêche au livre
        • Le Mystère du roman d'amour
        • Les Mystères du cluster de la Comtesse de Ségur [1/2]
        • Lettres volatiles
        • Note de bas de page
      • Cloud
        • Le Sot
        • Le Cluster de Madame Bovary
        • Harpagon et le magot
        • Les nuages menaçants 1/3
        • Les nuages menaçants 2/3
      • Cryptanalyse
        • Recette
        • ASCON Marchombre
      • Divers
        • Bienvenue
        • Exemple de connexion à distance
        • Discord
        • À vos plumes !
      • Exploitation de binaires
        • Je veux la lune !
      • Programmation
        • L'Inondation
        • Des mots, des mots, des mots
      • Radio-Fréquence
        • Navi
        • Avez-vous vu les cascades du hérisson ?
        • Le Plombier du câble
        • Ballistic Missile Submarine
      • Renseignement en sources ouvertes
        • Le Tour de France
        • Les OSINTables [1/3]
        • Un vol ?
        • L'âme d'un poète et le coeur d'une femme [1/4]
        • L'âme d'un poète et le coeur d'une femme [2/4]
        • L'âme d'un poète et le coeur d'une femme [3/4]
        • L'âme d'un poète et le coeur d'une femme [4/4]
      • Rétro Ingénierie
        • Le Divin Crackme
        • L'Inspiration en images
      • Sécurité Matérielle
        • Un courrier suspect
        • Un réveil difficile
      • Stéganographie
        • Odobenus Rosmarus
        • L'Œuvre
        • Les Félicitations
        • En Profondeur
        • Le Rouge et le vert, avec un soupçon de bleu
      • Web
        • Le Loup et le renard
        • L'Académie du détail
        • La Vie Française
        • Fuite en 1791
        • L'Épistolaire moderne
        • Chanson d'Inde
      • Web3
        • Art
        • L'Antiquaire, tête en l'air
  • 🗓️2025
    • 404CTF 2025
      • Résultats
      • Algorithmique Quantique
        • Machinerie quantique
        • Grover (1/2)
        • Grover (2/2)
      • Analyse forensique
        • USB 51
        • Forensic et Mat [1/2]
        • Apprenti Carver [1/2]
        • Dockerflag
        • Forensic et Mat [2/2]
        • Apprenti Carver [2/2]
        • Tape ton MDP
        • Toortik Triflexation [1/2]
        • Toortik Triflexation [2/2]
      • Cryptanalyse
        • Message lointain
        • Entretien galactique
        • R1R2
        • Saturn Cipher
        • Planètes anormales
        • Spacemark
        • You spin me round
        • Dérive dans l'espace
        • Lunette cosmico galactique
        • Jupiter Cipher
        • Courbe de Lancement
        • More Space
      • Divers
        • Bienvenue
        • Pix2Num
        • Politique de confidentialité
        • Space Traveller
        • Satellisation
        • Étoile binaire [2/2]
      • Exploitation de binaires
        • Gorfou en danger [1/3]
        • Gorfou en danger [2/3]
        • Gorfou en danger [3/3]
        • Spaaaaaaace
        • KerberINT Space Program
        • 22 bytes pour sauver l'univers
        • Bounty Machine
        • Space Odyssey
        • Solaris
        • Cosmic-Base
        • Kalaxy
        • Bokit
      • Intelligence Artificielle
        • Gorfoustral (1/3)
        • Gorfoustral (2/3)
        • Gorfoustral (3/3)
        • Du tatouage
      • Renseignement en sources ouvertes
        • L'addition est salée
        • Une mission inconnue
        • Earth Attack (0/2)
        • Un satellite qui vaut de l'or
        • Un peu de vacances
        • La ville en rose
        • Earth Attack (1/2)
        • La tête dans les étoiles
        • En eaux sombres
        • Earth Attack (2/2)
        • DPOsint
      • Réaliste
        • The LDAP Chronicles
        • Houston, we have a problem
        • Named Resolve
        • The AD Guardians
        • The GPO Mission
        • Ghost Membership
      • Rétro-Ingénierie
        • Cbizarre [1/2]
        • Cbizarre [2/2]
        • Reversconstrictor
        • 3x3cut3_m3
        • Inscription
        • Étoile binaire [1/2]
        • RFC 9452 bis: IP over Rockets with Quality of Service
      • Sécurité matérielle
        • Trop d'IQ
        • Space Radio
        • R16D4
        • Comment est votre température ?
        • Code Radiospatial n°1
        • Unidentified Serial Bus [1/2]
        • Unidentified Serial Bus [2/2]
      • Sécurité Web
        • Cheese Chess
        • Rainbow Rocket
        • Fire Server
        • Sideral Noise
        • Space Fleet Command
Powered by GitBook
On this page

Was this helpful?

  1. 2023
  2. 404CTF 2023
  3. Web

L'Épistolaire moderne

PreviousFuite en 1791NextChanson d'Inde

Last updated 2 years ago

Was this helpful?

Catégorie: Web - Difficulté: Moyen

Description:

Lien :

Solution:

Pour ce challenge, nous avions accès à un chat (assez têtu) à qui nous pouvions envoyer des messages une fois connecter en tant qu'invité :

Nous pouvons constater que les discussions avec cette princesse sont assez constructives et bien utiles :

Il faut donc chercher quelque chose qui pourrait nous être utile : le code source du bot, l'interception d'une réponse, un flag ? Commençons par le code source du bot. En regardant ce qu'il se passe, nous voyons qu'il y a des fichiers .js qui sont appelés :

Nous allons directement checker le fichier main.js qui appellent surement les autres fichiers .js :

Après un survol du code, nous voyons que lorsqu'un texte est envoyé, le site va appeler une API pour donner une réponse. Cela explique donc pourquoi les réponses de la princesse étaient toujours les mêmes... En cherchant donc les principales requête HTTP d'une API (GET, POST, PUT, DELETE...) nous trouvons rapidement une fonction intéressante :

Cette fonction nous donne un indice sur le "type de texte" intéressant à envoyer : une URL. Nous voyons également qu'il y a une fonction nommé getToken ce qui est intéressant car il y a peut être quelque chose à récupérer avec ou dans cette fonction :

Cette fonction permet de récupérer un cookie, surement celui d'un service sur le serveur ou même celui de la princesse.

Si nous faisons donc un lien entre tout ce que nous avons trouvé précédemment, il nous faut un lien que nous allons envoyer à la princesse pour récupérer un token. Maintenant il faut réfléchir un peu pour trouver quoi faire/utiliser.

Nous récupérons ce token JWT : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwdWJsaWNfaWQiOiI3NTUwODhhMS0wNDcxLTQyYzgtYjdhZS1mNzdmZjhmN2Y3OWUiLCJleHAiOjE2ODU3ODkxMTQsImlhdCI6MTY4NTc4NzMxNCwiaXNzIjoiaHR0cHM6Ly9lcGlzdG9sYWlyZS5jaGFsbGVuZ2VzLjQwNGN0Zi5mciJ9.cyqOLqJsfZN5j5CTEgdY_m2Rup0X_78s3VEQk-_1_1I que nous allons utiliser pour tenter de nous connecter. Pour ce faire, comme d'habitude nous allons utiliser le proxy de BurpSuite :

En se connectant avec ce token, nous obtenons une nouvelle page disponible "Notes personnelles" qui auparavant n'était pas visible. Essayons donc d'y accéder toujours avec le token afin de voir le contenu de cette page :

Après quelques redirections (4 ou 5), nous arrivons enfin sur cette page. Il est possible de déplier chaque "tiroir" pour voir le contenu. Faisons-le jusqu'à trouver quelque chose d'intéressant :

Et voilà, le flag se trouvait dans le dernier "tiroir" de cette page.

🚩 FLAG
404CTF{L34k_d3_C00k13s_s3cr3ts}

Nous comprenons 2 choses ici : - La princesse ne veut pas nous donner le flag gentiment - Rester poli ne sert à rien

Il s'agit d'un code presque illisible (ou du moins incompréhensible) comme ceci. Pour y voir plus clair nous allons utiliser un site qui va nous remettre tout ce code d'aplomb : Avec ce site nous obtenons un code structuré avec une indentation correcte et donc lisible plus facilement.

Très rapidement nous trouvons l'option ngrok afin de créer un petit tunnel et de récupérer les résultats d'une requête. Mais en même temps, nous somme un peu flemmard pour faire ça (trouver les "bonnes commandes" à exécuter), alors nous allons utiliser qui fera parfaitement le travail. En envoyant notre lien, nous récupérons directement le résultat et le fameux token, un JWT :

🗓️
😂
https://beautifier.io/
Request Bin
https://epistolaire.challenges.404ctf.fr/