diff --git a/labs/lab3/README.md b/labs/lab3/README.md index 941c7c1..440ac66 100644 --- a/labs/lab3/README.md +++ b/labs/lab3/README.md @@ -1,5 +1,170 @@ # Лабораторная работа 3 +*** + +## Выполнение лабораторной работы + +### Подключение к серверу + +Для части лабораторной работы используется специальный тестовый сайт: +```sh +10.5.143.101:PORT +``` +Где порт (*PORT*) у каждого студента индивидуальный: + +
+ А-01м-23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СтудентПорт
Антимонов Марк Евгеньевич3101
Антипов Дмитрий Алексеевич3102
Вареско Сергей Константинович3103
Зимовин Михаил Юрьевич3104
Капкин Егор Вячеславович3105
Кирьянов Борис Юрьевич3106
Ковалев Артур (Ин)3107
Козлов Игорь Алексеевич3108
Кононенко Александр Вячеславович3109
Кочурова Виктория Артёмовна3110
Ли Егор Андреевич3111
Медведев Игорь Сергеевич3112
Поташов Сергей Евгеньевич3113
Солдатов Михаил Дмитриевич3114
Черемных Юрий Алексеевич3115
+
+ +
+ А-02м-23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СтудентПорт
Викторов Глеб Олегович3201
Градов Алексей Олегович3202
Китайский Артём Сергеевич3203
Макаров Кирилл Олегович3204
Мосалов Кирилл Дмитриевич3205
Наников Игорь Яковлевич3206
Савин Вадим Евгеньевич3207
Сметанин Александр Сергеевич3208
Соколов Игорь Алексеевич3209
Фенске Александр Вячеславович3210
Шашерина Александра Всеволодовна3211
Шепелев Дмитрий Дмитриевич3212
Юрченков Глеб Андреевич3213
+
+ +**Несканкционированный поиск и использование уязвимостей Web-приложений запрещены законодательством (ст. 272 УК РФ)** + +### Требования к отчёту: +- Формат отчёта **DOCX** +- Название отчёта должно содержать номер группы (А1 или А2), фамилию и номер лабораторной работы (Л1): **А1 Иванов ИБ Л1.docx** +- Содержание отчёта: + - Титульный лист + - Описание проделанной работы и вводимых команд + - Скриншоты результатов выполнения и их описание + - Вывод + +*** + ### Цель работы Получить практические навыки анализа Web-приложений на предмет наличия основных уязвимостей. @@ -248,16 +413,14 @@ mysite.ru/read_message.jsp?id=123654
* -Перейти на сайт `http://10.5.143.103:*port*/#/products/search?q=` +Перейти на сайт `http://10.5.143.101: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 ```
### 2.3. Подбор пароля (Brute-force attack) -Зайти на сайт `http://10.5.143.103:*port*/#/login` - -
- *port* - port задается в формате 3000 + V, где V - вариант из первой лабораторной работы -
+Зайти на сайт `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.103:*port*/` +Зайдите на сайт `http://10.5.143.101:PORT/` Попробуем найти панель администратора, которой нет в интерфейсе (нет кнопки, на которую можно нажать и перейти в админ-панель). @@ -358,13 +516,13 @@ python sqlmap.py -u http://10.5.143.103:*port*/rest/products/search?q= -T Users -Таким образом, обратившись напрямую к `http://10.5.143.103:*port*/#/administration` попадем в панель администратора +Таким образом, обратившись напрямую к `http://10.5.143.101:PORT/#/administration` попадем в панель администратора ***Скриншот** ### 3. Задание -На сайте `http://10.5.143.103:*port*/#/` найти и сделать скриншот: +На сайте `http://10.5.143.101:PORT/#/` найти и сделать скриншот: * Cross-Site Scripting (XSS) * SQL Injection * Панель scoreboard