HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Комментирование части запроса (SQL-inj)
  #1  
Старый 22.07.2009, 22:35
Disasm
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами: 9342612

Репутация: 6
По умолчанию Комментирование части запроса (SQL-inj)

Всем доброго дня.

Уважаемые господа, столкнулся с такой проблемой:

Для внедрения SQL инъекции необходимо закомментировать хвост запроса.

Сам запрос в исходнике:
Код:
$sql = "UPDATE table SET time='{$now}', what='{$what}', do= '{$do}', task= '{$task}', link= '{$link}', func= '{$func}'"
. "\n WHERE userid={$my->id} AND userip='{$myip}'";
В SQL-inj комментирую так:
Код:
http://site.com/index.php?func=bla'/*
на что получаю ошибку синтаксиса, не понятно почему...

может это из-за того, что WHERE в запросе идет с новой строки...

Подскажите пожалуйста как корректно закомментировать всё WHERE.

Последний раз редактировалось Disasm; 22.07.2009 в 22:38..
 
Ответить с цитированием

  #2  
Старый 22.07.2009, 22:38
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

Дело не только в коментарии, ошибку, для проведения sql-inj надо не только уметь вызвать, но и нигилировать её последующим корректным запросом, а уж потом комментировать, чтобы анигилировать sql-конструкции, идущие следом
 
Ответить с цитированием

  #3  
Старый 22.07.2009, 22:46
Disasm
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами: 9342612

Репутация: 6
По умолчанию

Цитата:
Сообщение от Pashkela  
Дело не только в коментарии, ошибку, для проведения sql-inj надо не только уметь вызвать, но и нигилировать её последующим корректным запросом, а уж потом комментировать, чтобы анигилировать sql-конструкции, идущие следом
Если я не ошибаюсь, конечная структура запроса у меня получается синтаксически верная.
Это конечно при условии, что MySQL не требует строго обособления многострочного комментария с обеих сторон.

Т.е. я расчитывал на то, что открывающего указателя многострочного комментария /* будет достаточно для построения синтаксически верного запроса, но что-то чувствую, что MySQL ругается именно на отсутствие закрытия комментария */
 
Ответить с цитированием

  #4  
Старый 22.07.2009, 22:56
xa-xa89
Участник форума
Регистрация: 17.05.2008
Сообщений: 102
С нами: 9466141

Репутация: 74
По умолчанию

вопрос: вы пытаетесь внедрить SQL-код обьединив запросы UPDATE & SELECT или через подзапрос?
покажите как вы делаете тогда станет ясней...
 
Ответить с цитированием

  #5  
Старый 22.07.2009, 23:03
Disasm
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами: 9342612

Репутация: 6
По умолчанию

Цитата:
вопрос: вы пытаетесь внедрить SQL-код обьединив запросы UPDATE & SELECT или через подзапрос?
покажите как вы делаете тогда станет ясней...
для начала просто заккоментировать, а делее через UNION еще раз UPDATE

Цитата:
Приведи сообщение об ошибке
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 '/*' 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'
 
Ответить с цитированием

  #6  
Старый 22.07.2009, 23:24
xa-xa89
Участник форума
Регистрация: 17.05.2008
Сообщений: 102
С нами: 9466141

Репутация: 74
По умолчанию

Цитата:
Символы одинарной и двойной кавычек, даже внутри комментария, считаются началом заключенной в кавычки строки. Если внутри комментария не встречается вторая такая же кавычка, синтаксический анализатор не считает комментарий законченным. При работе с mysql в интерактивном режиме эта ошибка проявится в том, что окно запроса изменит свое состояние с mysql> на '> или ">.
http://phpclub.ru/mysql/doc/comments.html

Пища для мозгов)

Код:
http://site.com/index.php?func=bla'/*'
может вот так сработает!
 
Ответить с цитированием

  #7  
Старый 22.07.2009, 23:31
Disasm
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами: 9342612

Репутация: 6
По умолчанию

Цитата:
Код:
http://site.com/index.php?func=bla'/*'
может вот так сработает!
не работает =(
 
Ответить с цитированием

  #8  
Старый 22.07.2009, 23:29
Disasm
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами: 9342612

Репутация: 6
По умолчанию

xa-xa89 спасибо! Теперь ясно почему ругается.
Подскажите, как же мне тогда верно отрезать WHERE?
 
Ответить с цитированием

  #9  
Старый 22.07.2009, 23:33
xa-xa89
Участник форума
Регистрация: 17.05.2008
Сообщений: 102
С нами: 9466141

Репутация: 74
По умолчанию

Приводи сразу что пишет!я ж не телепат!
 
Ответить с цитированием

  #10  
Старый 22.07.2009, 23:36
Disasm
Новичок
Регистрация: 10.08.2008
Сообщений: 18
С нами: 9342612

Репутация: 6
По умолчанию

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 '/*'' 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=%27/*%27', func= 'bla'/*'' WHERE userid=0 AND userip='255.255.255.255'
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.