Posts Tagged ‘SQL Injection’

How to perform a SQL injection?

February 18, 2010 5 comments

First of all we must know what a ‘SQL injection’ is. So here is the wikipedia definition – ‘ SQL injection is a code injection technique  that exploits a security vulnerability occuring in the database layer of an application ‘ . Here we will confine ourselves to SQL injections in web sites.

Now we need to find out a site link which is likely to be vulnerable and most probably it will be of the form ‘ ‘.  If you haven’t got such a link, just do a search in Google for ‘allinurl:.php?*id’ and take out a result.

1. Check the vulnerability by adding ‘ to the above link.

If you get an error message it means that the site is vulnerable to SQL injection.

Now you can be damn sure that the site is vulnerable to SQL injection.

2. Find out the number of columns

To find number of columns we use statement ORDER BY

Just increment the number until we get an error. order by 1– <– no error order by 2– <– no error order by 3– <– no error order by 4– <– ERROR ( we get some message like Unknown column ‘4’ )

So we can conclude that the table have 4 columns

3. Check whether UNION function works or not union all select 1,2,3–

We will get a number on the screen. Lets say we get the number 2 at this step.

4. Check for MySQL version by replacing 2 in the above step by version() union all select 1,version(),3–

Now you can find the version from the site and only if it is found to above 5, we can continue to the next steps.

// If the version is lower than 5, then we will have to a adopt some new methods which I will explain in some future post //

5. Use information_schema

Why do we use information_schema? The reason is very simple – ‘In mySQL 5 and higher versions, information_schema holds all tables and columns in the database’.

To get tables we use table_name and information_schema.tables union all select 1,table_name,3 from information_schema.tables–

6. Now that we have the column and table names, just retrieve the sensitive data like admin, user, passwords, etc.


Categories: Hack Tags: ,