# WEB Basic - 1 1) Установить и настроить  **linux ubuntu 20.04** ![](https://i.imgur.com/kb69Hwt.jpg) 2) Настроить подключение к репозиториям **docker** - обновляем существующий список пакетов ![](https://i.imgur.com/J0xuTEL.png) - установка пакетов, позволяющих apt использовать пакеты через HTTPS ![](https://i.imgur.com/lrcv7kD.png) - добавляем ключ GPG для официального репозитория Docker в нашу систему ![](https://i.imgur.com/N2saSEb.png) - добавляем репозиторий Docker в источники APT ![](https://i.imgur.com/BH3KhJR.png) - обновляем базу данных пакетов и добавляем в нее пакеты Docker и проверям,что установка будет выполняться из репозитория Docker ![](https://i.imgur.com/UmGd8lH.png) 3) Установить **Docker CE** - устанавливаем Docker ![](https://i.imgur.com/76I9ySo.png) - проверяем, что демон-процесс запущен и для процесса активирован запуск при загрузке ![](https://i.imgur.com/eduKrJW.png) - проверим информацию о Docker ![](https://i.imgur.com/AqfkMmM.png) 4) Установить веб-приложение **https://hub.docker.com/r/bkimminich/juice-shop** - проверяем наличие приложения на Docker Hub ![](https://i.imgur.com/UxCf7sf.png) - загружаем образ bkimminich/juice-shop ![](https://i.imgur.com/bz1U7YZ.png) - проверим загрузку образа ![](https://i.imgur.com/yDeC761.png) - запускаем приложение в контейнере ![](https://i.imgur.com/7YRodfV.png) - подключаемся через браузер ![](https://i.imgur.com/C1gvQsN.png) 5) Изучить запросы браузера к приложению и форме регистрации пользователей. - заходим в браузере в инструменты разработчика и смотри запросы к приложению ![](https://i.imgur.com/IryOF4y.png) - здесь указаны: ![](https://i.imgur.com/QbRhFA4.png) > метод запроса > состояние > размер переданных данных > приоритет запроса > список допустимых форматов ресурса > перечень поддерживаемых способов кодирования содержимого сущности при передач > список поддерживаемых естественных языков > сведения о проведении соединения > куки > доменное имя и порт хоста запрашиваемого ресурса > дополнительные метаданные о характере запроса > предпочтение клиента в отношении зашифрованного и аутентифицированного ответа > список названий и версий клиента и его компонентов с комментариями - в заголовке к форме регистрации поьзователей добавляются ![](https://i.imgur.com/ff3Cml4.png) > Referrer-Policy - какая информация должны быть включена с запросами > If-None-Match: для методов GET и HEAD сервер вернет запрошенный ресурс со статусом 200, если у него нет ETag, соответствующего данным, для других методов запрос будет обработан только в том случае, если ETag существующего ресурса не соответствует ни одному из перечисленных значений > Referer - содержит абсолютный или частичный адрес страницы, которая делает запрос - объекты json от сервера ![](https://i.imgur.com/7DPiTpx.png) - объект json при регистрации нового пользователя ![](https://i.imgur.com/VG42Hg8.png) 6) Сформировать запрос к приложению через **curl** ![](https://i.imgur.com/Msj297D.png) 7) Сформировать запрос к приложению через **powershell** - устанавливаем и запускаем PoSh ![](https://i.imgur.com/EjykpXU.png) - делаем запрос с помощью curl ![](https://i.imgur.com/HwegYOD.png) 8) Изучить ответ приложения и распарсить его с помощью утилит **jq** - устанавливаем утилиту jq ![](https://i.imgur.com/8vF50rZ.png) - находим файл POST запрос и сохраняем его в файл ![](https://i.imgur.com/2ukdARF.png) - вывод команды cat подадим на утилиту jq ![](https://i.imgur.com/ZEPL8kf.png)