Мой сайт уязвим для инъекций sql, верно? - PullRequest
0 голосов
/ 08 января 2012

Я думаю, что на одном из сайтов моих клиентов обнаружена большая проблема с безопасностью.Я обнаружил, что когда я вводил точку с запятой 'в поле поиска, скрипт выдавал ошибку sql.Итак, я начал играть ...

При вводе команды SQL ниже в поле поиска выполняется запрос: '+AND+product_description.description+LIKE+'%Computers%

Запрос выполняется в базе данных!

ЭтоМожно с уверенностью сказать, что хакер может нанести вред выполнению запросов выбора, вставки и удаления?Основываясь на том факте, что мой запрос выполнен, я почти уверен, что он может причинить вред ... Я прав?

Ответы [ 4 ]

2 голосов
/ 08 января 2012

Да, вы правы. Вы всегда должны очищать входные данные и не использовать их напрямую таким образом, иначе они рано или поздно будут скомпрометированы атаками SQL-инъекций.

1 голос
/ 08 января 2012

Это определенно является формой внедрения SQL, и вы правы, что беспокоитесь.

Однако одного этого недостаточно, чтобы определить, можете ли вы что-то делать, кроме как изменить параметры запроса внеожиданные пути.Например, запрос может быть изменен для извлечения данных из таблиц, не перечисленных в исходном запросе, что вполне может быть достаточно плохим.

Я настоятельно рекомендую избегать использования конкатенации строк при построении запросов SQL, но вместо этого использовать подготовленныйоператоры ", которые позволяют только заменить предоставленные заполнители на выбранные пользователем значения данных.Даже в этом случае приложению было бы целесообразно проверить значения, по крайней мере, на определенное здравомыслие, прежде чем передавать их в базу данных.

1 голос
/ 08 января 2012

Да, вы правы.Этот код открыт для атак с использованием SQL-инъекций.

0 голосов
/ 09 января 2012

Ваш сайт открыт для атак с использованием SQL-инъекций, и вы можете многое сделать для его защиты, но в первую очередь я бы порекомендовал создать идентификатор пользователя с правами только на чтение и использовать этот идентификатор для всех запросов.,Хакеры по-прежнему смогут извлекать данные из вашей базы данных, но не так просто обновлять или удалять строки или таблицы ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...