HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #7571  
Старый 13.06.2009, 01:45
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

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

Цитата:
Сообщение от ?maybe  
вы неверно уловили суть проблемы, во
1-ых. по за-альяс'иным колонкам сортирует только груп, который находится в строке с inj.(%23)
Не согласен, при UNION по альясным колонкам в MySQL 5 нужно сортировать ТОЛЬКО ORDER http://dev.mysql.com/doc/refman/5.1/en/union.html:
Цитата:
Also, if a column to be sorted is aliased, the ORDER BY clause must refer to the alias, not the column name. The first of the following statements will work, but the second will fail with an Unknown column 'a' in 'order clause' error
Цитата:
конкретно здесь работать не будет, потому что поля в ордербае задаются в виде имя_табл.колонка (что не катит в двойных запросах)
Конкретно ни где это работать не будет(если продемострируете работоспобный запрос для 5 версии MySQL то я буду только рад этому) изходя из первого условия для UNION,ORDER BY и MySQL 5. Согласен с of ORDER BY cannot use column references that include a table name но я и не утверждал что это не так. Ваш запрос такой же не работоспособный был бы если в ORDER сортировался просто по именни колонки без table name.
Цитата:
cats.*
+Боюсь предположить что это при определеных условиях вызовет - #1222 - The used SELECT statements have a different number of columns
 
Ответить с цитированием

  #7572  
Старый 13.06.2009, 02:56
?maybe
Новичок
Регистрация: 08.06.2009
Сообщений: 4
Провел на форуме:
7573

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

Цитата:
Не согласен, при UNION по альясным колонкам в MySQL 5 нужно сортировать ТОЛЬКО ORDER
я говорил про этот запрос, а не образно)
=>2
Цитата:
select columns.*,1,2/*или сколько там*/ from columns order by columns.column_name
select columns.*,1,2 from columns union select tables.* from tables order by columns.column_name
select columns.*,1,2 from columns union select tables.* from tables order by column_name
Цитата:
+Боюсь предположить что это при определеных условиях вызовет
например?)
 
Ответить с цитированием

  #7573  
Старый 13.06.2009, 05:08
PaCo
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме:
1754802

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

Цитата:
Сообщение от ?maybe  
я говорил про этот запрос, а не образно)
Мдя, а в 1 своем посте я не про это писал(как тогда воспринимать ваши заявления,и понт было это отписывать не пойму, это типа того у кого больше яйца)?

Цитата:
Сообщение от ?maybe  
select columns.*,1,2 from columns union select tables.* from tables order by columns.column_name
К чему это? Мало того что вы сами описали почему это не работает, разговор то идет про альяс в первом запросе и про иньект до ордер по названию колонки в оригинале и версию MySQL 5.(e.g. select table_name as lol, table_schema as lol2 from columns
where column_name='user' [sql_injection] order by table_name)
Цитата:
например?)
Например если кодер поймет что ему не надо все значения из columns:

select 3,1,2 from columns union select tables.* from tables order by column_name

З.Ы. Давайте закончим эту пустой спор, ничего нового я не узнал и из того что вы написали, равно как и вы от того что написал я, если с чем то не согласны и хотите обсудить, для этого есть ПМ.

Последний раз редактировалось PaCo; 13.06.2009 в 05:24..
 
Ответить с цитированием

  #7574  
Старый 13.06.2009, 11:16
?maybe
Новичок
Регистрация: 08.06.2009
Сообщений: 4
Провел на форуме:
7573

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

приведёный пример никак не связан с этой скулей, что касается 3,1,2 - из этой же области: таблица cats.* не везде существует, админ пролил пиво на системник, ...; мой пост был не понтом, а замечанием, что inj в общем случае возможна.
 
Ответить с цитированием

  #7575  
Старый 13.06.2009, 17:51
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

PHP код:
        if (strpos($clean'union') !== false && preg_match('~(^|[^a-z])union($|[^[a-z])~s'$clean) != 0)
            
$fail true
Можно ли (если да, то как?) обойти такую фильтрацию?
 
Ответить с цитированием

  #7576  
Старый 13.06.2009, 17:54
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

strpos() чувствителен к регистру UNION он не заметит.
А вот со stripos() такое не прокатит.

P.S. да и регулярка тоже чувствительна к регистру без i, т.е. они тоже проглотит UNION и ничего не заметит.

Последний раз редактировалось Grey; 13.06.2009 в 18:04..
 
Ответить с цитированием

  #7577  
Старый 13.06.2009, 18:04
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Да, но вся проблема в том, что переменная $clean изначально переводиться в нижний регистр (забыл упомянуть об этом в предыдущем посте).

Последний раз редактировалось mailbrush; 13.06.2009 в 18:07..
 
Ответить с цитированием

  #7578  
Старый 13.06.2009, 18:10
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Цитата:
Сообщение от mailbrush  
Да, но вся проблема в том, что переменная $clean изначально переводиться в нижний регистр (забыл упомянуть об этом в предыдущем посте).
Тогда хрен что сделаешь, правда без union`a прожить можно - ведь можно и посимвольно инъекцию заюзать.
 
Ответить с цитированием

  #7579  
Старый 13.06.2009, 18:15
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Grey, ага, только трабла в том, что селект фильтрует, тобишь посимвольный вывод даных из бд (кроме информации о ней) тоже не катит.
PHP код:
        // Sub selects?  We don't use those either.
        
elseif (preg_match('~\([^)]*?select~s'$clean) != 0)
            
$fail true
Плюс еще к всему этому он фильтрует < и >, т.е. подбирать придется по очереди через =.

Сама уязвимость, если кому интересно
Код:
http://forum.antichat.ru/showpost.php?p=1328827&postcount=40
 
Ответить с цитированием

  #7580  
Старый 13.06.2009, 18:23
Grey
Познавший АНТИЧАТ
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

А эта регулярка уже кривая:

and (/*)*/select substring(version(),1))=4 - такое она пропустит

А что касается фильтрации < > - то можно юзать:

WHERE IN (0, 255) - по сути (вернее по скорости) тоже самое, что если юзать < >

Последний раз редактировалось Grey; 13.06.2009 в 18:46..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ