[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: sql инъекция
Гость_Михаил
Доброго времени суток!
Есть кусок кода:
	
$q = "SELECT * FROM users WHERE Login = '".$_POST["login"]."' ";
$q = sql($q);


Интересует именно "$_POST["login"]"
Сюда попадает текст без фильтра.
Если правильно понимаю, то сюда может быть добавлен запрос

пытаюсь добавить такого вида:
Newuser1'; UPDATE users SET PasswordHash='670b14728ad9902aecba32e22falol' WHERE login='Newuser1'

в результате получается:
$q = "SELECT * FROM users WHERE Login = '"Newuser1'; UPDATE users SET PasswordHash='670b14728ad9902aecba32e22falol' WHERE login='Newuser1'"' ";
$q = sql($q);

Соответственно должно получится: в таблице USERS у пользователя NEWUSER1 должен установиться хэш пароля "670b14728ad9902aecba32e22falol".
в различных вариациях пробовал, не получается.

что не так?



Спустя 38 минут, 24 секунды (12.09.2012 - 10:03) Игорь_Vasinsky написал(а):
Mysql не выполнит 2 запроса сразу.

а чтоб меньше страшно было то почитай про mysql_real_escape_strings()

Спустя 2 часа, 15 минут, 35 секунд (12.09.2012 - 12:18) inpost написал(а):
У нас сайт по программированию и безопасности smile.gif Мы не учим ломать чужие сайты, а учим защищать. Защиту выше подсказали.

А вообще, при выборке используют SQL-inj для того, чтобы в массив выборки подставить данные из таблиц вместо стандартных. То есть вместо echo $row['id'] - у тебя выведется пароль из БД. В таком духе совмещаются запросы.
Update только через подзапрос можно попробовать сделать, хотя мне кажется, что не будет работать SELECT + UPDATE.

Выборка - это одна группа процедур, изменение - другая.

Спустя 41 минута, 58 секунд (12.09.2012 - 13:00) Guest написал(а):
Как же писать защиту, если не знать способов взлома?
Учить ломать чужие сайты не просил, просил помочь понять какие варианты "обхода" есть, чтобы от этого отталкиваться, т.е. фильтровать переменные и т.д.

inpost,Игорь_Vasinsky,
спасибо за помощь.

Спустя 7 минут, 55 секунд (12.09.2012 - 13:08) Placido написал(а):
Если знаешь английский, на эту тему рекомендую посмотреть слайд-шоу Билла Карвина "SQL-инъекции. Мифы и заблуждения".
http://www.slideshare.net/billkarwin/sql-i...s-and-fallacies
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.