@ -1,5 +1,170 @@
# Лабораторная работа 3
***
## Выполнение лабораторной работы
### Подключение к серверу
Для части лабораторной работы используется специальный тестовый сайт:
```sh
10.5.143.101:PORT
```
Где порт (*PORT*) у каждого студента индивидуальный:
< details >
< summary > А-01м-23< / summary >
< table >
< thead >
< tr >
< th > Студент< / th >
< th > Порт< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > Антимонов Марк Евгеньевич< / td >
< td > 3101< / td >
< / tr >
< tr >
< td > Антипов Дмитрий Алексеевич< / td >
< td > 3102< / td >
< / tr >
< tr >
< td > Вареско Сергей Константинович< / td >
< td > 3103< / td >
< / tr >
< tr >
< td > Зимовин Михаил Юрьевич< / td >
< td > 3104< / td >
< / tr >
< tr >
< td > Капкин Егор Вячеславович< / td >
< td > 3105< / td >
< / tr >
< tr >
< td > Кирьянов Борис Юрьевич< / td >
< td > 3106< / td >
< / tr >
< tr >
< td > Ковалев Артур (Ин)< / td >
< td > 3107< / td >
< / tr >
< tr >
< td > Козлов Игорь Алексеевич< / td >
< td > 3108< / td >
< / tr >
< tr >
< td > Кононенко Александр Вячеславович< / td >
< td > 3109< / td >
< / tr >
< tr >
< td > Кочурова Виктория Артёмовна< / td >
< td > 3110< / td >
< / tr >
< tr >
< td > Ли Егор Андреевич< / td >
< td > 3111< / td >
< / tr >
< tr >
< td > Медведев Игорь Сергеевич< / td >
< td > 3112< / td >
< / tr >
< tr >
< td > Поташов Сергей Евгеньевич< / td >
< td > 3113< / td >
< / tr >
< tr >
< td > Солдатов Михаил Дмитриевич< / td >
< td > 3114< / td >
< / tr >
< tr >
< td > Черемных Юрий Алексеевич< / td >
< td > 3115< / td >
< / tr >
< / tbody >
< / table >
< / details >
< details >
< summary > А-02м-23< / summary >
< table >
< thead >
< tr >
< th > Студент< / th >
< th > Порт< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > Викторов Глеб Олегович< / td >
< td > 3201< / td >
< / tr >
< tr >
< td > Градов Алексей Олегович< / td >
< td > 3202< / td >
< / tr >
< tr >
< td > Китайский Артём Сергеевич< / td >
< td > 3203< / td >
< / tr >
< tr >
< td > Макаров Кирилл Олегович< / td >
< td > 3204< / td >
< / tr >
< tr >
< td > Мосалов Кирилл Дмитриевич< / td >
< td > 3205< / td >
< / tr >
< tr >
< td > Наников Игорь Яковлевич< / td >
< td > 3206< / td >
< / tr >
< tr >
< td > Савин Вадим Евгеньевич< / td >
< td > 3207< / td >
< / tr >
< tr >
< td > Сметанин Александр Сергеевич< / td >
< td > 3208< / td >
< / tr >
< tr >
< td > Соколов Игорь Алексеевич< / td >
< td > 3209< / td >
< / tr >
< tr >
< td > Фенске Александр Вячеславович< / td >
< td > 3210< / td >
< / tr >
< tr >
< td > Шашерина Александра Всеволодовна< / td >
< td > 3211< / td >
< / tr >
< tr >
< td > Шепелев Дмитрий Дмитриевич< / td >
< td > 3212< / td >
< / tr >
< tr >
< td > Юрченков Глеб Андреевич< / td >
< td > 3213< / td >
< / tr >
< / tbody >
< / table >
< / details >
**Несканкционированный поиск и использование уязвимостей Web-приложений запрещены законодательством (ст. 272 УК РФ)**
### Требования к отчёту:
- Формат отчёта **DOCX**
- Название отчёта должно содержать номер группы (А1 или А2), фамилию и номер лабораторной работы (Л1): ** А1 Иванов ИБ Л1.docx**
- Содержание отчёта:
- Титульный лист
- Описание проделанной работы и вводимых команд
- Скриншоты результатов выполнения и их описание
- Вывод
***
### Цель работы
Получить практические навыки анализа Web-приложений на предмет наличия основных уязвимостей.
@ -248,16 +413,14 @@ mysite.ru/read_message.jsp?id=123654
< details >
< summary > *< / summary >
Перейти на сайт `http://10.5.143.10 3:*port* /#/products/search?q=`
Перейти на сайт `http://10.5.143.10 1:PORT /#/products/search?q=`
Проверить, что получится, если подставить `rest` вместо `#` .
~~Так, как присутствует ошибка SQL, значит обработка специальных символов работает неправильно или её нет. Попробуем получить доступ к Базе данных данного сайта. Для этого необходимо запустить программу sqlmap при помощи команды~~
В данном случае присутствует незащищённая ссылка или *прямой доступ к объектам* . Попробуем получить доступ к Базе данных данного сайта. Для этого необходимо запустить программу sqlmap при помощи команды
```ssh
python -u http://10.5.143.103:*port* /rest/products/search?q= --level=3 --risk=3
python -u http://10.5.143.101:PORT /rest/products/search?q= --level=3 --risk=3
```
Если возникнет вопрос про WAF/IPS/IDS – отвечаем N.
@ -265,34 +428,29 @@ python -u http://10.5.143.103:*port*/rest/products/search?q= --level=3 --risk=3
Программа определит тип базы данных и предложит пропустить дальнейшие проверки, отвечаем Y. На вопрос про включение всех тестов – отвечаем N. Программа начнёт искать уязвимости в параметрах запроса. После обнаружения уязвимого параметра, отвечаем N на вопрос про проверку остальных параметров. В конечном итоге, получим информацию о типе базы данных и об уязвимых параметрах. Попробуем получить информацию о количестве и названии баз данных:
```ssh
python sqlmap.py -u http://10.5.143.103:*port* /rest/products/search?q= --dbs
python sqlmap.py -u http://10.5.143.101:PORT /rest/products/search?q= --dbs
```
Программа напишет, что перечислить базы данных невозможно, но можно вывести таблицы.
Попробуем получить список таблиц:
```ssh
python sqlmap.py -u http://10.5.143.103:*port* /rest/products/search?q= --tables
python sqlmap.py -u http://10.5.143.101:PORT /rest/products/search?q= --tables
```
После получения таблиц можно попробовать получить данные. Попробуем получить список пользователей из таблицы Users
```ssh
python sqlmap.py -u http://10.5.143.103:*port* /rest/products/search?q= -T Users --dump
python sqlmap.py -u http://10.5.143.101:PORT /rest/products/search?q= -T Users --dump
```
< / details >
### 2.3. Подбор пароля (Brute-force attack)
Зайти на сайт `http://10.5.143.103:*port*/#/login`
< details >
< summary > *port*< / summary >
port задается в формате 3000 + V, где V - вариант из первой лабораторной работы
< / details >
Зайти на сайт `http://10.5.143.101:PORT/#/login`
Проверить, что отображается в Burp Suite. Войти с учётными данными в приложение (admin@juice-sh.op / admin123)
Проверить, что отображается в Burp Suite. Войти с учётными данными в приложение (admin@juice-sh.op : admin123)
Выйти из приложения.
Попытаться войти в приложение, используя неправильный пароль.
@ -348,7 +506,7 @@ python sqlmap.py -u http://10.5.143.103:*port*/rest/products/search?q= -T Users
### 2.5. Прямой доступ к объектам
Зайдите на сайт `http://10.5.143.10 3:*port* /`
Зайдите на сайт `http://10.5.143.10 1:PORT /`
Попробуем найти панель администратора, которой нет в интерфейсе (нет кнопки, на которую можно нажать и перейти в админ-панель).
@ -358,13 +516,13 @@ python sqlmap.py -u http://10.5.143.103:*port*/rest/products/search?q= -T Users
< image src = "assets/L3_35.jpg" >
Таким образом, обратившись напрямую к `http://10.5.143.10 3:*port* /#/administration` попадем в панель администратора
Таким образом, обратившись напрямую к `http://10.5.143.10 1:PORT /#/administration` попадем в панель администратора
***Скриншот**
### 3. Задание
На сайте `http://10.5.143.10 3:*port* /#/` найти и сделать скриншот:
На сайте `http://10.5.143.10 1:PORT /#/` найти и сделать скриншот:
* Cross-Site Scripting (XSS)
* SQL Injection
* Панель scoreboard