ктонибудь представляет как провернуть сабж? фишка с бенчмарком если он есть не подходит с 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
ну из того что ты писал может помочь лишь метод аля бенчмарк , и возможно фишка с ROWSET но под второй способ придется мне лепить клиент серверного монстра который будет посылать запросы и паралельно слушать порт. так что видимо придется мне на бенчмарке остановится, раз вариантов больше нет (