Встречается на собеседованиях • сегодня
Как работает SQL Injection
SQL Injection — это атака, при которой злоумышленник вставляет вредоносный SQL-код в запрос, изменяя его логику. Это возможно, если приложение некорректно обрабатывает пользовательский ввод.
Пример уязвимого кода:
java
String username = request.getParameter("username");
String password = request.getParameter("password");
String query = "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);Атака:
Если ввести admin' -- в поле username, запрос превратится в:
sql
SELECT * FROM users WHERE username='admin' --' AND password='...'-- закомментирует оставшуюся часть запроса, позволяя войти без пароля.
Защита:
- Prepared Statements (лучший способ):
java
String query = "SELECT * FROM users WHERE username=? AND password=?";
PreparedStatement stmt = connection.prepareStatement(query);
stmt.setString(1, username);
stmt.setString(2, password);- Валидация и санитизация ввода.
- ORM (Hibernate, JPA) с параметризованными запросами.
- Минимальные привилегии для БД.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы