Встречается на собеседованиях • сегодня

Что такое Injection в Java

В Java Injection — это уязвимость, возникающая при некорректной обработке пользовательского ввода, который может изменить логику программы.

Основные типы:

  1. SQL Injection — внедрение SQL-кода через параметры запроса.
    java
    // Уязвимый код
    String query = "SELECT * FROM users WHERE username = '" + userInput + "'";
    Решение: Использовать PreparedStatement.
    java
    PreparedStatement stmt = connection.prepareStatement("SELECT * FROM users WHERE username = ?");
    stmt.setString(1, userInput);
  1. Command Injection — выполнение системных команд через Runtime.exec().

    java
    // Опасный вызов
    Runtime.getRuntime().exec("ping " + userInput);

    Решение: Валидация ввода и использование безопасных API.

  2. Dependency Injection (не уязвимость!) — паттерн, где зависимости передаются извне (например, через Spring @Autowired).

Профилактика:

  • Использование параметризованных запросов.
  • Валидация и санитизация ввода.
  • Применение ORM (Hibernate, JPA).
  • Ограничение прав доступа.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы