Nucular Power Plant
Dernière mise à jour
Dernière mise à jour
"Nucular Power Plant!" est un challenge Web de niveau très facile (baby plus exactement). Son accès se fait via une adresse indiquée dans son énoncé :
Il a été résolu 238 fois pour 973 équipes :
Une seule page est à priori disponible. Cette page permet de visualiser des informations concernant des centrales électriques :
La page ne se recharge pas lorsque je sélectionne une centrale mais des requêtes websocket permettent de récupérer les informations :
Je suis tenté assez rapidement de tester l'injection SQL. L'insertion d'un caractère '
remonte une erreur indiquant qu'aucune ligne n'est remontée :
Je tente alors le caractère "
:
L'erreur retournée renseigne sur le type de base de données utilisé tout en renfonçant ma confiance quant à la présence d'une injection. Pour confirmer, j'effectue un test de tautologie :
Il s'agit donc d'exploiter une injection SQL mais sur une base SQLite, ce qui va faire légèrement varier les requêtes par rapport à une habituelle base MySQL. Dans un premier temps, je confirme la présence de seulement 7 centrales électriques et qu'il n'existe pas de centrale secrète 😛 :
Je retrouve ensuite le nombre de colonnes de la table :
La table possède donc 6 colonnes. Reste maintenant à régler le problème de typage :
Après quelques essais, la requête ne remonte plus d'erreur :
Je récupère quelques informations, par exemple le numéro de version :
Je passe maintenant à la récupération des informations sur les tables existantes :
La table "secret" contient le flag :
Le flag permettant de valider le challenge est donc flag{sqli_as_a_socket}
.