Вопросы с тегом 'sql-injection'

SQL-инъекция - это метод инъекции кода, используемый для атаки приложений, управляемых данными, в которых вредоносные операторы SQL вставляются в поле ввода для выполнения (например, чтобы сбрасывать содержимое базы данных злоумышленнику)
28
ответов

Как я могу предотвратить SQL-инъекцию в PHP?

Если пользовательский ввод вставлен без изменения в SQL-запрос, приложение становится уязвимым для SQL-инъекции, как в следующем примере: $unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variabl...
задан 13 сент. '08 в 2:55
12
ответов

Как работает SQL-инъекция из комикса XBCD Bobby Tables?

Просто посмотри: (Источник: https://xkcd.com/327/) Что делает этот SQL: Robert'); DROP TABLE STUDENTS; -- Я знаю, что для комментариев есть ' и --, но не комментируется ли слово DROP, так как оно является частью одной и той же строки?
задан 02 дек. '08 в 0:50
18
ответов

Какой лучший метод для дезинфекции ввода пользователя с помощью PHP?

Есть ли где-нибудь функция catchall, которая хорошо работает для дезинфекции ввода пользователя для SQL-инъекций и атак XSS, но при этом допускает определенные типы html-тегов?
задан 24 сент. '08 в 23:20
7
ответов

Являются ли подготовленные PDO заявления достаточными для предотвращения SQL-инъекций?

Скажем, у меня такой код: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); В документации PDO говорится: Параметры для п...
задан 25 сент. '08 в 18:43
5
ответов

SQL-инъекция, которая распространяется вокруг mysql_real_escape_string()

Есть ли возможность впрыска SQL даже при использовании функции mysql_real_escape_string()? Рассмотрим эту ситуацию с образцом. SQL построен в PHP следующим образом: $login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_es...
задан 21 апр. '11 в 10:56
11
ответов

Java - escape-строка для предотвращения SQL-инъекций

Я пытаюсь вставить некоторую анти-SQL-инъекцию в java, и мне очень сложно работать со строковой функцией replaceAll. В конечном итоге мне нужна функция, которая преобразует любые существующие \ в \\, любые " в \", любые ' в \' и любые \n в \\n, так ...
задан 28 нояб. '09 в 19:11
9
ответов

Как подготовленные заявления защищают от атак SQL-инъекций?

Как подготовленные заявления помогают нам предотвратить атаки SQL injection? Википедия говорит: Подготовленные операторы устойчивы к SQL-инъекции, потому что значения параметров, которые затем передаются с использованием другого протокола, не нужн...
задан 25 нояб. '11 в 2:17
18
ответов

Могу ли я защищать от SQL Injection, избегая ввода одной кавычки и окружающего пользователя с помощью одиночных кавычек?

Я понимаю, что параметризованные SQL-запросы - это оптимальный способ дезинформировать пользовательский ввод при построении запросов, содержащих пользовательский ввод, но мне интересно, что не так с учетом ввода пользователя и избежания каких-либо од...
задан 26 сент. '08 в 15:41
12
ответов

Безопасно ли не параметризовать SQL-запрос, когда параметр не является строкой?

В терминах SQL-инъекции я полностью понимаю необходимость параметризации параметра string; что один из самых старых трюков в книге. Но когда может быть оправдано не параметризовать SqlCommand? Являются ли какие-либо типы данных "безопасными", чтобы ...
задан 18 сент. '15 в 5:02
6
ответов

Должны ли htmlspecialchars и mysql_real_escape_string сохранить код PHP безопасным от инъекции?

Ранее сегодня был задан вопрос о правилах проверки ввода в веб-приложениях. Верхний ответ, на момент написания, предлагает в PHP просто использовать htmlspecialchars и mysql_real_escape_string. Мой вопрос: этого всегда достаточно? Больше мы должны...
задан 21 сент. '08 в 11:58
21
ответ

Избегать инъекции SQL без параметров

У нас есть еще одно обсуждение здесь, когда мы работаем над использованием параметризованных sql-запросов в нашем коде. У нас есть две стороны в обсуждении: Я и некоторые другие, которые говорят, что мы всегда должны использовать параметры для защиты...
задан 26 мая '09 в 15:38
9
ответов

Как PreparedStatement предотвращает или предотвращает SQL-инъекцию?

Я знаю, что PreparedStatements избегает/предотвращает внедрение SQL. Как оно это делает? Будет ли окончательный запрос формы, который построен с использованием PreparedStatements, будет строкой или иначе?
задан 17 окт. '09 в 15:58
11
ответов

Должен ли я защищать SQL-инъекцию, если я использовал раскрывающийся список?

Я понимаю, что вы НИКОГДА не должны доверять пользовательскому вводу из формы, главным образом из-за возможности SQL-инъекции. Однако, это также относится к форме, в которой единственный вход из выпадающего списка (см. ниже)? Я сохраняю $_POST['si...
задан 20 марта '14 в 16:16
7
ответов

Почему мы всегда предпочитаем использовать параметры в операторах SQL?

Я очень новичок в работе с базами данных. Теперь я могу написать команды SELECT, UPDATE, DELETE и INSERT. Но я видел много форумов, на которых мы предпочитаем писать: SELECT empSalary from employee where salary = @salary ... вместо: SELECT empSa...
задан 21 сент. '11 в 22:51
13
ответов

Что такое SQL-инъекция?

Возможные дубликаты: Как происходит инъекция SQL из таблицы "Bobby Tables" XKCD комическая работа? https://stackoverflow.com/search?q=sql+injection Может кто-нибудь объяснить SQL-инъекцию? Как это вызывает уязвимости? Где именно точка, в кото...
задан 02 марта '09 в 7:50