![]() |
Blind Sql injection in Mssql
ктонибудь представляет как провернуть сабж? фишка с бенчмарком если он есть не подходит с if там синтаксис другой совсем не как в mysql. заранее спасибо.
|
Я представляю, могу помочь, излагай, покрайней мере попробую
|
да че тут излагать - нужно данные из базы вытащить но они естественно ни где не отображаются тоесть можно использовать только логическое да или нет тоесть чтоб при false выдавалась ошибка в sql запросе при true не выдавалась вот и все.
вробовал через select 1 where (select 'xxxxxxx')=1 ни фига не выводит ошибки что типы не соответствуют , вот спрашиваю можно ли как то еще провернуть сабж ? |
а union select некатит? также можно поиграть с and и or, может с типами данных попробовать, так тяжело сказать, это все от конкретного случая зависит, кинь линк, сюда или в личку мне, скорее всего смогу помочь
|
линк естественно ни куда не буду кидать ) ты мне напиши примеры запросов что я понял что ты имеешь в виду, большое спасибо.
|
смотри, как знаешь,вот примеры:
select 1 where id=4 and substr((select 'xxxxxxx'),1,1)='x' при правильном варианте, выполнится запрос select 1 where id=4 select 1 where id=4 or substr((select 'xxxxxxx'),1,1)='x' при не правильном варианте, выполнится запрос select 1 where id=4 дальше перебор я тебе очень советую попробовать вариант с union select а также разделение запросов ; и выполнение sp_makewebtask, для получения данных, если есть права на использование этой комманды ты вот пишешь, что ошибок связанных с типами данных нет, а другие ошибки выводит? |
вообще практически аналогично..
шанк - https://forum.antichat.ru/thread45983.html или запрос какой-то специфический? |
о результате запроса я могу судить только по тому что выпала ошибка или нет,сам результат запроса он мне не кажет, sp_makewebtask не подходит так как я не знаю полного пути к скрипту. что за пример с union select ? это ты имеешь ввиду select 1 union select 1,1 ? ну так если это то оно всегда выводить будет ошибку при любых условиях в if.
|
Цитата:
|
ну тогда пользуй подзапросы, пример которых я тебе привел, а при чем тут if? напиши модель запроса, который исполняется на сервере, а тоя чето действительно не понимаю откуда if взялось
|
кароче приблезительно идет изначально такой запрос в скрипте:
bla bla lba SelectwhoOnline 'bla_var',1,1,1,1 тоесть выполняется процедура или пользовательская функция SelectwhoOnline и вот в место значения 'bla_var' можно вставить свой запрос, вот я и закрываю эту функцию чтоб она не вызвала ошибки bla_var',1,1,1,1; а потом вставляю sql inj но его результат естественно не отображается и о выполнении я могу судить только по ошибкам. |
Цитата:
еще раз прошу написать что ты имеешь ввиду под 'запрос с union' ? |
ага насколько я понял, union не прокатит, я про тот запрос c union, который в mysql используется
попробуй сначала запрос без использования and substr((select 'xxxxxxx'),1,1)='x', результат выполнения и будет как бы шаблоном правильного варианта, а потом подставляй подзапросы и смотри изменения |
я хз какой раз повторяю что запрос влияет на отображаемую страницу только в одном случае- когда есть ошибка в синтаксисе запроса, больши ни когда!!!
Цитата:
пока ни кто не помог ((( |
ну в общем то Scipio правильно тебе посоветовал с подзапросами
Попробуй выполнить select 1 where id=4 and 1=1 select 1 where id=4 and 1=0 в последнем должна появится ошибка Если ошибка есть (страница изменилась) то используй подзапросы которые тебе выше дал Scipio например при таком select 1 where id=4 and substr((select 'xxxxxxx'),1,1)='x' - появится страница без ошибки select 1 where id=4 and substr((select 'xxxxxxx'),1,1)='a' - должна быть ошибка Ну а если при select 1 where id=4 and 1=0 гурзится та же страница что и при правильном запросе, то имхо инжекция бесполезна |
Цитата:
|
если честно только после последних двух постов понял что ты имеешь ввиду)) .. по аналогии с мускулом в http://torrent.2x4.ru/rss.php?passkey=[sql]
в случае неправильного синтаксиса выдает ошибку, в случае неправильного и правильного запроса пустой экран.. так и не додумался как заюзать запрос там select count(*) from users where table = $passkey |
Я писал в статье котрая в моа все методы провидения без вывода по отстуку сервера.
|
Цитата:
так что видимо придется мне на бенчмарке остановится, раз вариантов больше нет ( |
а вобще походу и openrowset не прокатит так как:
Цитата:
|
| Время: 11:36 |