[ad]
There are quite a lot of SQL Injection Tools available and now there is one more to add to the stable for testing – Bsqlbf V2, which is a Blind SQL Injection Brute Forcer.
The original tool (bsqlbfv1.2-th.pl) was intended to exploit blind sql injection against a mysql backend database, this new version supports blind sql injection against the following databases:
- MS-SQL
- MY-SQL
- PostgreSQL
- Oracle
It supports injection in string and integer fields. The feature which separates this tool from all other sql injection tools is that it supports custom SQL queries to be supplied with the -sql switch.
It supports 2 modes of attack:
- Type 0: Blind SQL Injection based on True And Flase response
- Type 1: Blind SQL Injection based on True And Error Response(details)
You can download Bsqlbf V2 here:
Or read more here.
grav says
How exactly does SQL Injection work? Is it anything like php injection?
DO you usually have to enter the malicious code into a form?
So what happens when the form checks against a database and the code is executed, will it cause a lock up? An opening for further intrusion? Full access?
I may sound like a n00b, but I’m pretty sure others have the same question and would like to know more about SQL Injection.
THANKS
( I know the answers could be found on google or wikipedia, but it helps to have real people discuss things)
Bogwitch says
If a site is suceptible to SQL injection, one of the entry forms on a page might accept extra SQL commands within the form, assuming input validation is weak.
The input will normally take the form of a closing quotation mark (‘) followed by a logic operator (1=1 or some other) from there it would depend on what the attacker wants to achieve. Some versions of SQL will allow for execution of commands, believe it or not!
Mostly, you will be dumping table contents, enumerating the database etc. It may well be possible to dump passwords if they are stored in plaintext, or password hashes for offline cracking.
Going back to code execution, it may be possible to run commands in the context as the server, if the server is running with system privs, it will be possible to run system commands such as ‘net user add …..’ (for a Windows box) This will depend on the security of the box, the context that the server runs in, input code validation, the version of SQL running, etc.
Hope that helps!
Sandeep Nain says
@grav, In simple words SQL Injection is all about modifying the underlying SQL statements to get results which are not supposed to be displayed to the user..
If their is a URL. http://www.estore.com/showItem=25
which actually is creating a query “select * from items where id=25”
You can inject it as follows:
select * from items where id=25;drop table items;
if the input is not sanitized, the db server will run sql statements and the second one will drop the items table
Changlinn says
XKCD put it best: http://xkcd.com/327/
But yeah basically un-sanitised entries, can cause havok.
Sandeep Nain says
By The Way, its a very nice tool for Blind SQLi.
I used its previous version too and found this one far better than that.
Thanks for introducing to it darknet.
@grav
Blind SQL Injection is where you don’t actually get to see the results of your injected SQL.
grav says
@ Changlinn
Thank you for the webcomic
made my day
Makes me feel like a geek just for getting it though : )
Thanks guys
I was able to understand thanks to you
Changlinn says
Grav: Glad to be of help.
Pardon my ignorance, but what is the point of not seeing the results, you want to see what and where so you know who to slap and what to plug.
Feeder says
I am an amateur who is really keen to find out more, I have a question which I will be very grateful if answered.
Assuming that the databased is sanitized does that mean that sql injections are now useless?
For example
f ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;
else if (((“[email protected]“).indexOf(keychar) > -1))
return true;
else
return false;
Since I am unable to type sql functions is it foolproof