# Занятие 3. Основные атаки и паттерны
## SQL-injection уязвимости
1. Отправка имени пользователя administrator'--и пустой пароль приводит к следующему запросу:
```
SELECT * FROM users WHERE username = 'administrator'--' AND password = ''
```

2. Эта лабораторная работа содержит уязвимость SQL-инъекции в фильтре категорий продуктов. Когда пользователь выбирает категорию, приложение выполняет следующий SQL-запрос:
```
SELECT * FROM products WHERE category = 'Gifts' AND released = 1
```
Чтобы решить работу, нужно зайди в любой раздел и дописать:
```
'+OR+1=1--
```

3. Эта лабораторная работа содержит уязвимость SQL-инъекции в фильтре категорий продуктов.
Сначала определяю количество столбцов, возвращаемых запросом, и столбцы, содержащие текстовые данные
Кол-во столбцов:
```
'UNION SELECT NULL--
'UNION SELECT NULL, NULL--
'UNION SELECT NULL, NULL, NULL--
```
Понял, что всего два столбца
Дальше определяю столбцы с текстовым типом данных:
```
'UNION SELECT NULL, 'd'--
'UNION SELECT 's', NULL'--
```
Далее вытаскиваю данные с таблицы users:
```
'UNION SELECT username, password FROM users
```

4. Атака SQL-инъекцией, запрос типа и версии базы данных на MySQL и Microsoft.
Эта лабораторная работа содержит уязвимость SQL-инъекции в фильтре категорий продуктов.
Чтобы решить лабораторную работу, надо отобразить строку версии базы данных.
Сначала надо понять какая эта база данных: Oracle, MS, MySQL
При тесте запросов я понял, что это MySQL

Дальше определяю кол-во столбцов, определяю, что их два, каждый из которых содержит текст
Дальше делаю окончательный запрос
```
'+UNION SELECT @@version, NULL#
```

## XSS уязвимости
1. Сохранение XSS в контексте HTML без каких-либо кодировок
Эта лабораторная работа содержит сохраненную уязвимость межсайтового скриптинга в функции комментариев.
Введу следующее в поле для комментариев:
```
<script>alert(1)</script>
```
Потом опубликую этот коммендтарий и готово

2. Уязвимость межсайтового скриптинга на основе модели DOM в функции отслеживания поисковых запросов
Введу случайную буквенно-цифровую строку в поле поиска
Щелкну правой кнопкой мыши и осмотрю элемент, и обращу внимание, что строка была помещена внутри img src атрибута
Вставляю в поиск
```
"><svg onload=alert(1)>
```


3. Уязвимость межсайтового скриптинга в функции отслеживания поисковых запросов, где закодированы угловые скобки
Вбиваю в поиск текст и делаю поиск, дальше в URL стираю запрос и вбиваю следующее:
```
'-alert(1)-'
```


4. Эта лабораторная работа демонстрирует отраженную уязвимость DOM. Уязвимости отраженной модели DOM возникают, когда приложение на стороне сервера обрабатывает данные из запроса и повторяет данные в ответе. Затем скрипт на странице обрабатывает отраженные данные небезопасным способом, в конечном итоге записывая их в опасный приемник.
Вбиваю в поиск текст и делаю поиск
После анализа сайта, понимаю, что сработает следующее дополнение в URL:
```
\"-alert(1)}//
```


## CSRF
1. Уязвимость CSRF без защиты




2. CSRF, где проверка токена зависит от метода запроса.



## SSRF
1. Базовый SSRF против локального сервера






2. SSRF с обходом фильтра через открытую уязвимость перенаправления





## RCE
1. Внедрение команд ОС, простой случай



## Path traversal
1. Обход пути к файлу, простой случай



2. Обход пути к файлу, последовательности обхода заблокированы с обходом абсолютного пути.


