Post

Je veux la lune !

𝄞 Introduction

Intro

𝄞 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 .*.

Information

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.

Flag1 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.

This post is licensed under CC BY 4.0 by the author.