Je veux la lune !
š¯„˛ Introduction
š¯„˛ Solution
Lā€™objectif de ce challenge est de trouver un moyen dā€™afficher le contenu du fichier lune.txt.
š¯„˛š¯„˛ Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
Caligula=Caius
listePersonnes="Cherea Caesonia Scipion Senectus Lepidus Caligula Caius Drusilla"
echo "Bonjour Caligula, ceci est un message de HĆ©licon. Je sais que les actionnaires de ton entreprise veulent se dĆ©barrasser de toi, je me suis donc dĆ©pĆŖchĆ© de t'obtenir la lune, elle est juste lĆ dans le fichier lune.txt !
En attendant j'ai aussi obtenu des informations sur Cherea, Caesonia, Scipion, Senectus, et Lepidus, de qui veux-tu que je te parle ?"
read personne
eval "grep -wie ^$personne informations.txt"
while true; do
echo "
De qui d'autre tu veux que je te parle ?"
read personne
if [ -n $personne ] && [ $personne = "stop" ] ; then
exit
fi
bob=$(grep -wie ^$personne informations.txt)
if [ -z "$bob" ]; then
echo "Je n'ai pas compris de qui tu parlais. Dis-moi stop si tu veux que je m'arrĆŖte, et envoie l'un des noms que j'ai citĆ©s si tu veux des informations."
else
echo $bob
fi
done
Le script fourni recherche les lignes contenant le mot contenu dans la variable $personne dans le fichier informations.txt. Le problĆØme est quā€™il nā€™y a pas de vĆ©rification sur les valeurs passĆ©es Ć la variable $personne. Nous allons donc pouvoir effectuer une injection de commande.
š¯„˛š¯„˛ Netcat
Une fois connectĆ© au service, nous allons essayer dā€™afficher toutes les lignes du fichier informations.txt en utilisant .*
.
Comme nous pouvons le voir ici, nous nā€™avons rien dā€™intĆ©ressant. Nous allons donc essayer dā€™ajouter une autre commande en utilisant lā€™opĆ©rateur (|, &&, ;) pour afficher le contenu du fichier lune.txt.
fxoverflow informations.txt | cate lune.txt
š¯„˛ FLAG : 404CTF{70n_C0EuR_v4_7e_1Ach3R_C41uS}
š¯„˛
š¯„˛ Conclusion
Ce dƩfi nous a permis de mettre en pratique nos compƩtences injection de commandes. En exploitant une vulnƩrabilitƩ dans le script fourni, nous avons pu exƩcuter une commande pour afficher le contenu du fichier lune.txt.