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.