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.