HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 19.03.2013, 00:57
Euler
Познающий
Регистрация: 09.09.2012
Сообщений: 30
Провел на форуме:
11956

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

Доброго времени суток. Если в запросе фильтруются точки, то можно как-нибудь обратится к "INFORMATION_SCHEMA.TABLES"? Если ответ положительный, то как?
 
Ответить с цитированием

  #2  
Старый 19.03.2013, 02:17
cat1vo
Новичок
Регистрация: 12.08.2009
Сообщений: 1
Провел на форуме:
11937

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

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]SELECT table_name FROM tables WHERE table_schema[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'information_schema'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]SELECT table_name FROM information_schema[/COLOR][COLOR="#FF8000"]/*!.*/[/COLOR][COLOR="#0000BB"]tables[/COLOR][COLOR="#007700"];[/COLOR][/COLOR
 
Ответить с цитированием

  #3  
Старый 19.03.2013, 02:40
Euler
Познающий
Регистрация: 09.09.2012
Сообщений: 30
Провел на форуме:
11956

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

Цитата:
Сообщение от cat1vo  
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]SELECT table_name FROM tables WHERE table_schema[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'information_schema'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]SELECT table_name FROM information_schema[/COLOR][COLOR="#FF8000"]/*!.*/[/COLOR][COLOR="#0000BB"]tables[/COLOR][COLOR="#007700"];[/COLOR][/COLOR
1. #1046 - No database selected

2. Используется точка. А в моём случае ещё и слеш фильтруется(и амперсанд).
 
Ответить с цитированием

  #4  
Старый 19.03.2013, 03:04
Konqi
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме:
2101094

Репутация: 672


По умолчанию

Цитата:
Сообщение от cat1vo  
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]SELECT table_name FROM tables WHERE table_schema[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'information_schema'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]SELECT table_name FROM information_schema[/COLOR][COLOR="#FF8000"]/*!.*/[/COLOR][COLOR="#0000BB"]tables[/COLOR][COLOR="#007700"];[/COLOR][/COLOR
wtf??

вы проверяете что пишите?

откуда вы сфантазировали таблицу tables в нынешней базе?

второй запрос это всего лишь обход ваф, а фильтрации могут быть реализованы по разному

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
 
Ответить с цитированием

  #5  
Старый 19.03.2013, 03:08
Euler
Познающий
Регистрация: 09.09.2012
Сообщений: 30
Провел на форуме:
11956

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

Цитата:
Сообщение от OxoTnik  
Легко, закодируй весь запрос в URLdecode
У меня это тоже первая мысль была, но не всё так просто...

upd. Вторая мысль - использовать CONCAT и CHAR, но в имени таблицы их использовать не получается.
 
Ответить с цитированием

  #6  
Старый 19.03.2013, 04:06
BigBear
Новичок
Регистрация: 04.12.2008
Сообщений: 11
Провел на форуме:
69033

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

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]select[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]from information_schema[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2etables

select
[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]from information_schema[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]252etables[/COLOR][/COLOR
 
Ответить с цитированием

  #7  
Старый 19.03.2013, 04:36
Euler
Познающий
Регистрация: 09.09.2012
Сообщений: 30
Провел на форуме:
11956

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

Цитата:
Сообщение от BigBear  
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]select[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]from information_schema[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2etables

select
[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]from information_schema[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]252etables[/COLOR][/COLOR
верхний не работает и понятно почему. Но почему второй сработал? После декодирования получается ведь information_schema%.tables, что не соответствует синтаксису.
 
Ответить с цитированием

  #8  
Старый 19.03.2013, 05:21
Га-Ноцри
Постоянный
Регистрация: 16.10.2011
Сообщений: 326
Провел на форуме:
103014

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

Цитата:
Сообщение от Euler  
верхний не работает и понятно почему. Но почему второй сработал? После декодирования получается ведь
information_schema%.tables
, что не соответствует синтаксису.
Если не ошибаюсь, подобная техника обхода, в данном случае фильтра на точку, называется Double Encoding. Еще варианты:

точка %252e

прямой слэш %252f

обратный слеш %255c
 
Ответить с цитированием

  #9  
Старый 19.03.2013, 06:04
Грабитель
Участник форума
Регистрация: 05.03.2013
Сообщений: 194
Провел на форуме:
69791

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

select table_name from information_schema,tables

Мне помог однажды такой запрос.

Не можешь использовать точку, используй запятую.
 
Ответить с цитированием

  #10  
Старый 19.03.2013, 13:14
nikp
Reservists Of Antichat - Level 6
Регистрация: 19.09.2008
Сообщений: 127
Провел на форуме:
835386

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

Цитата:
Сообщение от Грабитель  
select table_name from information_schema,tables
Мне помог однажды такой запрос.
Не можешь использовать точку, используй запятую.
Запрос делает полное обьединение таблиц information_schema и tables (full join, ищет их в текущей базе) и в нем ищет колонку table_namе.

Если его подать напрямую на вход MySql - будет ошибка.

Цитата:
Сообщение от None  
ERROR 1146 (42S02): Table 'test.information_schema' doesn't exist
Сработает, только если обрабатывается предварительно и обработчик меняет ',' на '.'

Т.е. совет поможет вряд ли...
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.