Description
Malgré un problème d’accès mémoire (cf. le challenge Spidersaurus), notre développeur s’entête à utiliser cette version ancienne de SpiderMonkey.
Il continue à nous assurer qu’aucune faille de sécurité n’est exploitable. Cependant, un hacker anonyme nous a transmis un mystérieux message : “que se passe t’il si une fonction contient 65536 variables ?”. Prouvez que notre développeur a tort en lisant le contenu du fichier flag.txt.
- Après envoi de votre code JavaScript, utilisez shutdown(socket,SHUT_WR) pour déclencher son exécution, et ensuite lire une éventuelle réponse.
- Une chaine de caractères JavaScript peut contenir un contenu binaire arbitraire, par exemple \u9090\u9090.
- Le motif d’allocation sur le tas changera si le code JavaScript est passé en dans un fichier en premier argument plutôt que par stdin.
Fichiers
- docker-compose.yml
-
JSRef.zip
373.12 KiB – e3d04ba7f65efa088ce64fc72b47962fe77dea6a9442a14b94f1b90f65972b58 -
spidersaurus-rex
1.30 MiB – 5908bf8dbb9c60657cb959a03c06b7adfbfc454886d17fa7d8233fb81eb97866 -
spidersaurus-rex.patch
6.67 KiB – 0da94d4b1f22a4b774bb5bb74b144ca9821470e2d2afc67624e578d0d7f30689
Auteur
Instructions
- Pour commencer, téléchargez le fichier docker-compose.yml :
curl https://hackropole.fr/challenges/fcsc2026-pwn-spidersaurus-rex/docker-compose.public.yml -o docker-compose.yml - Lancez l'épreuve en exécutant dans le même dossier :
docker compose up - Dans un second terminal, accédez à l'épreuve via Netcat avec :
nc localhost 4000
Si vous rencontrez des problèmes, veuillez consulter la FAQ.
Flag
Soumettez votre solution
Vous pouvez envoyer votre solution rédigée pour cette épreuve. La FAQ contient la marche à suivre.
Vous avez besoin d'être identifié(e) pour soumettre une solution.
Solutions
Il n'y a pas encore de solutions pour cette épreuve, mais vous pouvez soumettre la vôtre après avoir trouvé le flag.