← Назад ко всем вопросам

Какие знаешь основные уязвимости в вебе

1️⃣ Как кратко ответить

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

2️⃣ Подробное объяснение темы

Веб-приложения подвержены множеству уязвимостей, которые могут быть использованы злоумышленниками для компрометации безопасности. Рассмотрим основные из них:

1. XSS (Межсайтовый скриптинг):

XSS позволяет злоумышленникам внедрять вредоносные скрипты на страницы веб-приложений, которые затем выполняются в браузерах пользователей. Это может привести к краже данных, таких как куки, или выполнению действий от имени пользователя.

Пример:

<!-- Уязвимый код -->
<div>
  <p>Ваше имя: <span id="username"></span></p>
</div>
<script>
  const username = location.search.split('=')[1];
  document.getElementById('username').innerHTML = username;
</script>
  • location.search.split('=')[1]: Извлекает значение параметра из URL.
  • document.getElementById('username').innerHTML = username;: Вставляет значение в HTML, что может быть использовано для внедрения скрипта.

2. SQL-инъекции:

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

Пример:

// Уязвимый код
const userId = req.query.id;
const query = `SELECT * FROM users WHERE id = '${userId}'`;
db.execute(query);
  • req.query.id: Получает параметр из запроса.
  • db.execute(query);: Выполняет SQL-запрос, который может быть изменен злоумышленником.

3. CSRF (Подделка межсайтовых запросов):

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

Пример:

Злоумышленник может создать форму, которая отправляет POST-запрос на сайт жертвы, используя его сессию.

4. Уязвимости в аутентификации и управлении сессиями:

Ошибки в реализации аутентификации и управления сессиями могут позволить злоумышленникам получить доступ к учетным записям пользователей. Это может включать предсказуемые токены сессий или неправильное управление временем жизни сессий.

5. Небезопасное хранение данных:

Небезопасное хранение данных, таких как пароли или личная информация, может привести к утечке данных. Это может произойти из-за отсутствия шифрования или использования слабых алгоритмов шифрования.

Пример:

Хранение паролей в виде простого текста в базе данных делает их уязвимыми для утечки.

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

Тема: Безопасность
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки