[ad]
SQLBrute is a tool for brute forcing data out of databases using blind SQL injection vulnerabilities. It supports time based and error based exploit types on Microsoft SQL Server, and error based exploit on Oracle. It is written in Python, uses multi-threading, and doesn’t require non-standard libraries (there is some code in there for pycurl, but it is disabled because it isn’t finished).
For error based SQL injection, SQLBrute should work, if you can either:
- Get an identifiable difference between adding the exploit strings AND 1=1 and AND 1=2 to your SQL injection point (usually works if the query is normally valid)
- Get an identifiable difference between adding the exploit strings OR 1=1 and OR 1=2 to your SQL injection point (usually works if the query is normally invalid)
For time based SQL injection, SQLBrute should work if you can use exploit syntax similar to ;waitfor delay ‘0:0:5’ to generate a time delay in Microsoft SQL Server.
Here is the options printed from SQLBrute when you run it with no options:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
___ _____ __ ____ ____ __ __ ____ ____ / __)( _ )( ) ( _ \( _ \( )( )(_ _)( ___) \__ \ )(_)( )(__ ) _ < ) / )(__)( )( )__) (___/(___/\\(____)(____/(_)\_)(______) (__) (____) Usage: ./sqlbrute.py options url [--help|-h] [--verbose|-v] [--server|-d oracle|sqlserver] [--error|-e regex] [--threads|-s number] [--cookie|-k string] [--time|-n] [--data|-p string] [--database|-f database] [--table|-t table] [--column|-c column] [--where|-w column=data] [--header|-x header::val] |
Full details and usage notes can be found here:
Using SQLBrute to brute force data from a blind SQL injection point
You can download SQLBrute here:
backbone says
it seems great and all, but it laks the mysql server option…
Torvaun says
I like it. Not that I do a lot of brute-forcing myself, but I recently ran into a situation where I’d been locked out of a database by some glitch which was never fully explained to me. I ended up running the attack manually because I didn’t have this.
Brute force sucks for manual hacking.
Sypherknife says
Awesome, lets see what I can do with this…
…I mean, yeah, learning etc..
Bogwitch says
This can all be done already with a copy of Brutus and a well formed .bad file.
I’ve bruted and dictionaried, (whatever the hell that is), SQL servers with Brutus on several occasions.
Brutus really is a smashing tool. It takes a short while to learn and it kicks the backside out of most other tools.
Sort of makes this tool redundant but kudos to the programmer – you can never have enough tools. :)
Daniel says
i agree about the smashingness of brutus. However, with this thing, being written in python i can see a self propogating worm idea. like hack a site, run some form of a perl script which runs this and then you have automated sql hacking.
Bogwitch says
Well, that’s what I get for letting my typing run away from me before I’ve even checked out the tool.
What this tool can do goes far beyond what I achieved with Brutus (not to say Brutus /couldn’t/ do it)
I can only apologise and blame it on the fact that I was studying until 0215 last night and up at 0700 this morning. :)
But that’s just making excuses.
Darknet: please feel free to delete my drivel if it suits you!
Daniel says
well Bogwitch nothing you said was really incorrect,
just incomplete, this thing is like brutus in python, minus telnet ftp and cgi hacking and possibly wormable.
XD
Darknet says
Regular tools like Brutus can’t brute force via blind SQL injection avenues like this tool is designed to do.
Daniel says
true i didnt think of the blind aspect.
i see a mash up in the furure.
SQLBrute + Jikto = World Domination.
automated scanning and blind SQL injection