[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: О безопасности
Страницы: 1, 2, 3
tar
Перечитал много творений на тему безопасности и
кругом - или проверка данных с mysqli_real_escape_string или подготовленные выражения. Альтернативы - нет.

Подскажите, может я не прав - что если в конце каждого sql запроса просто вставлять: or die ("mySQL error 1");

И пусть себе читает хакер: mySQL error 1, mySQL error 2 и т.д.
killer8080
Цитата (tar @ 18.04.2013 - 22:26)
Подскажите, может я не прав - что если в конце каждого sql запроса просто вставлять: or die ("mySQL error 1");

И что это даст? Инъекция не вызывает ошибку, она модифицирует запрос wink.gif
inpost
tar
Ну пишешь ты, а если он догадывается о твоей структуре, раза с 10-ого сможет подобрать нужный запрос.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
tar
Ну допустим простой запрос без проверки входных данных и экранирования:
$r=$db->query ("select * from $db_admin where login='$_SESSION[admin_login]' ") or die ("SQL error 1");
Что здесь можно вставить, что-бы что-то увидеть?
Michael
tar, если $_SESSION[admin_login] от юзера как то зависит, то вставится например такое : ' or 1 or login='

В результате и запрос выполнится и условие подойдет к каждой строке таблицы.

_____________
There never was a struggle in the soul of a good man that was not hard
killer8080
Цитата (tar @ 19.04.2013 - 08:44)
Ну допустим простой запрос без проверки входных данных и экранирования:
$r=$db->query ("select * from $db_admin where login='$_SESSION[admin_login]' ") or die ("SQL error 1");

Экранирование нужно не только для безопасности, но и просто для корректного ввода текста. Если бы на этом форуме не было экранирования, то ты элементарно не смог бы вставить свой пост, из-за наличия в тексте кавычек.
tar
Экранирование - согласен.

Цитата (Michael @ 19.04.2013 - 07:17)
tar, если $_SESSION[admin_login] от юзера как то зависит, то вставится например такое : ' or 1 or login='
В результате и запрос выполнится и условие подойдет к каждой строке таблицы.


Проверял с ввода формы и при вводе напрямую в базе данных:SELECT * FROM `pmd_admin` WHERE login='or 1 or login='
ничего не выводит
дайте другой пример
TranceIT
Гугли по запросу SQL injection

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
TranceIT
asd' or login = 1; DROP table pmd_admin

Как то так...

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
tar
Цитата (TranceIT @ 19.04.2013 - 09:09)
asd' or login = 1; DROP table pmd_admin

Как то так...

По моему запросу с формы при: $r=$db->query ("select * from $db_admin where login='$_SESSION[admin_login]' ") or die ("SQL error 1");
Выдает: SQL error 1

Еще пример
TranceIT
В синтаксисе инъекций не силен. гугли и подгоняй запрос по синтаксису.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
tar
Цитата (TranceIT @ 19.04.2013 - 09:24)
В синтаксисе инъекций не силен. гугли и подгоняй запрос по синтаксису.

Да потому, что никогда при таком запросе Вы ничего не поломаете
TranceIT
А вот так?
asd' or login = 1; DROP table pmd_admin--

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
tar
Цитата (TranceIT @ 19.04.2013 - 09:29)
А вот так?
asd' or login = 1; DROP table pmd_admin--

Без вариантов!!!! SQL error 1
TranceIT
Цитата (tar @ 19.04.2013 - 11:31)
Без вариантов!!!!

Ну это так кажется...
Спорить не буду, бесполезно.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Быстрый ответ:

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