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

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

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

Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. На этот вопрос есть ответы на Переполнение стека на русском : Каким образом избежать SQL-инъекций в PHP? Если...

1094
Как работает SQL-инъекция из комикса XKCD «Таблицы Бобби»?

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

660
Достаточно ли подготовленных операторов PDO для предотвращения внедрения SQL?

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

644
SQL-инъекция, которая обходит mysql_real_escape_string ()

Есть ли возможность SQL-инъекции даже при использовании mysql_real_escape_string()функции? Рассмотрим этот пример ситуации. SQL построен на PHP следующим образом: $login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_escape_string(GetFromPost('password')); $sql = "SELECT *...

172
Как подготовленные операторы могут защитить от атак SQL-инъекций?

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

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

Я пытаюсь внедрить некоторые анти-SQL инъекции в Java, и мне очень трудно работать со строковой функцией replaceAll. В конечном счете мне нужна функция, которая преобразует любые существующие \в \\, любые "в \", любые 'в \'и любые \nв \\nтак, чтобы при оценке строки с помощью SQL-инъекций MySQL...

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

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

116
Защищают ли htmlspecialchars и mysql_real_escape_string мой PHP-код от внедрения?

Ранее сегодня был задан вопрос о стратегиях проверки ввода в веб-приложениях . Главный ответ на момент написания предполагает PHPпросто использовать htmlspecialcharsи mysql_real_escape_string. Мой вопрос: всегда ли этого достаточно? Мы должны знать больше? Где ломаются эти...

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

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

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

Что касается внедрения SQL , я полностью понимаю необходимость параметризации stringпараметра; это одна из старейших уловок в книге. Но когда можно оправдать отсутствие параметризации SqlCommand? Считаются ли какие-либо типы данных "безопасными" для отказа от параметризации? Например: Я не считаю...

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

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

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

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

87
Предотвращение SQL-инъекций в Node.js

Можно ли предотвратить SQL-инъекции в Node.js (желательно с помощью модуля) так же, как в PHP были подготовленные операторы, защищающие от них. Если да, то как? Если нет, то каковы некоторые примеры, которые могут обойти предоставленный мной код (см. Ниже). Некоторый контекст: Я создаю...

83
Достаточно ли параметров для предотвращения инъекций SQL?

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