У меня есть такое заявление:инъекции SQL, если скобки и точка с запятой фильтруются
SELECT * FROM TABLE WHERE COLUMN = 123456
123456
предоставляется пользователем поэтому она уязвима для SQLI, но если я раздеться все точкой с запятой и скобки, является возможным хакеру выполнять любые другие заявления (например, DROP,UPDATE,INSERT
и т. д.), кроме SELECT
?
Я уже использую подготовленные операторы, но мне любопытно, что если вход лишен терминатора строк и скобок, может ли хакер изменить БД каким-либо образом?
Зачем нужно беспокоиться? Просто используйте подготовленные заявления или хранимые процедуры или какой-либо механизм, который предоставляет платформа. SQL-инъекция - это ** проблема **. Не делайте работу и стресс для себя. –
В MSDN есть хорошая страница: http://msdn.microsoft.com/en-us/library/ms161953(v=sql.105).aspx – Deruijter
Точки с запятой не требуются. Если они будут поставлять '123456 UPDATE FOO SET Bar = 12', это сработает. –