|
|
|
|
|
|
IT Security and Insecurity Portal |
|
|
SQL Injection. |
|
Posted: Thu Jan 28, 2010 11:45 am |
|
|
RachelNJ |
Beginner |
|
|
Joined: Jan 28, 2010 |
Posts: 3 |
|
|
|
|
|
|
|
Hi,
I'm trying some SQL injection for the first time and it is confusing the hell out of me.
How on earth do you find if something is vulnerable?
I have some software locally and on a website, I tried ' in login field and the result is:
Code: | Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/xxxxx/public_html/xxx/xxx_login.php on line 85 |
What sort of thing should I be looking for and is there anyone who can take a look at this PHP software and tell me what to try to see if it is vulnerable to anything?
Been reading some guides and tutorials but have come out more confused than before. |
|
|
|
|
|
|
|
|
Posted: Thu Jan 28, 2010 11:58 am |
|
|
waraxe |
Site admin |
|
|
Joined: May 11, 2004 |
Posts: 2407 |
Location: Estonia, Tartu |
|
|
|
|
|
|
That error message indicates possible sql injection. But you don't have sql error feedback, so exploitation will be harder than in book examples.
Anyway, what's your goal? Are you intended to learn as much as possible about sql injections? Or you wanna just work with specific target? |
|
|
|
|
Posted: Thu Jan 28, 2010 12:03 pm |
|
|
RachelNJ |
Beginner |
|
|
Joined: Jan 28, 2010 |
Posts: 3 |
|
|
|
|
|
|
|
waraxe wrote: | That error message indicates possible sql injection. But you don't have sql error feedback, so exploitation will be harder than in book examples.
Anyway, what's your goal? Are you intended to learn as much as possible about sql injections? Or you wanna just work with specific target? |
Bit of both, the goal is to exploit both of these (the site + software) and learn some in the process.
Where to from here? |
|
|
|
|
|
|
|
|
Posted: Thu Jan 28, 2010 12:26 pm |
|
|
waraxe |
Site admin |
|
|
Joined: May 11, 2004 |
Posts: 2407 |
Location: Estonia, Tartu |
|
|
|
|
|
|
Do you have source code for that vulnerable software? With source and local test installation it is easy to make exploits work, because you can always implement debug methods - mysql_error, var_dump, ...
If you have remote target without knowing the source code ("black box"),
then start with getting sql injection syntax right.
By the way, have you read sql injection whitepapers and/or tutorials publicly available?
Anyway, if you have sql injection in login script, then there is mainly two different ways to exploit:
1. authentication bypass
2. traditional sql injection for data fetch (UNION, subselects, ...), file manipulation, etc
Authentication bypass may work on some targets, but not for all. And it may bring up anomalies in software behavior.
Traditional UNION tricks and things like that are better choice, but first I suggest you to try to find other sql injection points, for example in search script. It is alot better, if you have sql error feedback.
Now, you can try some tests:
Code: |
' OR 'c'='c
' OR 3=3/*
') OR 3=3/*
')) OR 3=3/*
|
Look for response in each case - does it show errors or other anomalies in software behavior? |
|
|
|
|
|
|
|
|
Posted: Thu Jan 28, 2010 12:31 pm |
|
|
RachelNJ |
Beginner |
|
|
Joined: Jan 28, 2010 |
Posts: 3 |
|
|
|
|
|
|
|
waraxe wrote: | Do you have source code for that vulnerable software? With source and local test installation it is easy to make exploits work, because you can always implement debug methods - mysql_error, var_dump, ...
If you have remote target without knowing the source code ("black box"),
then start with getting sql injection syntax right.
By the way, have you read sql injection whitepapers and/or tutorials publicly available?
Anyway, if you have sql injection in login script, then there is mainly two different ways to exploit:
1. authentication bypass
2. traditional sql injection for data fetch (UNION, subselects, ...), file manipulation, etc
Authentication bypass may work on some targets, but not for all. And it may bring up anomalies in software behavior.
Traditional UNION tricks and things like that are better choice, but first I suggest you to try to find other sql injection points, for example in search script. It is alot better, if you have sql error feedback.
Now, you can try some tests:
Code: |
' OR 'c'='c
' OR 3=3/*
') OR 3=3/*
')) OR 3=3/*
|
Look for response in each case - does it show errors or other anomalies in software behavior? |
' OR 3=3/* produced no error messages, the other 3 produced same as in OP.
No source code on this one. |
|
|
|
|
|
|
|
|
Posted: Thu Jan 28, 2010 2:13 pm |
|
|
waraxe |
Site admin |
|
|
Joined: May 11, 2004 |
Posts: 2407 |
Location: Estonia, Tartu |
|
|
|
|
|
|
Seems to be sql injection without useful feedback - you must use blind injection methods and fetch data bit by bit. That's not for beginners, but I can show you some further tests, if you want to. |
|
|
|
|
www.waraxe.us Forum Index -> Sql injection
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT
Page 1 of 1
|
|
|
Powered by phpBB © 2001-2008 phpBB Group
|
|
|
|
|