# TBD

Изучить: https://developer.mozilla.org/en-US/docs/Web/Security/Attacks#session_fixation

## SQL-инъекции

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

## XSS (межсайтовый скриптик)

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

XSS бывает трех типов:
* Отраженная (Reflected) — скрипт в ссылке, которую пользователь должен кликнуть;
* Хранимая (Stored) — та самая, в комментариях, она опаснее всего, потому что срабатывает у каждого, кто открывает страницу;
* DOM-based — скрипт выполняется вообще без участия сервера, прямо в браузере через манипуляции с URL.

## CSRF-уязвимости (она же — XSRF)

CSRF или XSRF (Cross-Site Request Forgery) — атака на авторизованного пользователя сайта или веб-приложения, при которой злоумышленник обманом заставляет его выполнить опасное или некорректное действие.

Чем опасна CSRF?
* Account takeover — атакующий захватывает аккаунт жертвы путем смены email через CSRF.
* Privilege Escalation — повышение привилегий за счет того, что атакующий через CSRF создает нового пользователя с высокими правами в системе.
* Remote code execution — выполнение кода за счет эксплуатации command injection в админке через CSRF.

Сначала авторизовываемся:

![CSRF-attack-scheme-1.png](/pictures/ComputerScience/Web/CSRF-attack-scheme-1.png)

Потом заходим на вредоностный сайт:

![CSRF-attack-scheme-2.png](/pictures/ComputerScience/Web/CSRF-attack-scheme-2.png)

### Способы обезопаситься от CSRF

1) Внедрение специального секретного токена, который также иногда называют antiCSRF-token.

Во многих фреймворках уже реализован механизм защиты на основе секретного token. Изучите документацию фреймворка, который используете для разработки, и проверьте, есть ли в нем такой механизм. Н/р: Java-фреймворках Spring и GWT есть встроенная защита, которая добавляет токен ко всем «обращениям».

2) SameSite

Установка cookie с атрибутом SameSite=lax (или strict), который предотвращает отправку cookie при межсайтовых запросах

❗ Если мы будем полагаться исключительно на samesite, то старые браузеры будут уязвимы.

------

[ << 2.5.6 Information Protection Theme](./2.5.6%20InformationProtection.md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) | [2.5.8 Vulnerabilities Theme >>](./2.5.8%20Vulnerabilities.md)
|---|---|---|