---
# System prepended metadata

title: '**Практическая работа №3 Web Basic**'

---

# **Практическая работа №3 Web Basic**

## **Цель работы:**

- Изучить основные атаки на WEB

## Задание Практической работы:

На стенде по адресу [https://portswigger.net/web-security](https://portswigger.net/web-security) разобрать следующие задания:

**SQL-injection уязвимости:**

- [https://portswigger.net/web-security/sql-injection/lab-login-bypass](https://portswigger.net/web-security/sql-injection/lab-login-bypass)

Переходим на страницу авторизации. Вводим Username `administrator` и любой пароль, после этого отправляем запрос `Forward`

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

Изменяем запрос, добавляя `'--`

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

Бум!!! Мы авторизовались под администратором

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

- [https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data](https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data)

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

Выбираем любую категорию и меняем в запросе значение `category` 

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

Мы получили все сведения обо всех продуктах в любой категории, как выпущенных, так и не выпущенных.

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

- [https://portswigger.net/web-security/sql-injection/union-attacks/lab-retrieve-data-from-other-tables](https://portswigger.net/web-security/sql-injection/union-attacks/lab-retrieve-data-from-other-tables)

Изменяем значение `category`

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

Получаем users таблицу

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

Пробуем авторизоваться под `administrator`

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

Мы авторизовались под администратором

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


- [https://portswigger.net/web-security/sql-injection/examining-the-database/lab-querying-database-version-mysql-microsoft](https://portswigger.net/web-security/sql-injection/examining-the-database/lab-querying-database-version-mysql-microsoft)

Изменяем значение поля `category`

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

Получаем версию БД

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

**XSS уязвимости:**

- [https://portswigger.net/web-security/cross-site-scripting/stored/lab-html-context-nothing-encoded](https://portswigger.net/web-security/cross-site-scripting/stored/lab-html-context-nothing-encoded)

![](https://i.imgur.com/dKGzRzq.png)
Захдим на любой пост и в поле для комментрариев вводим `<script>alert(1)</script>`

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

Опубликовываем комментарий

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

Возвращаемся в блог и видим, что наш скрипт выполнился

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

- [https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink)

Вводим случайную буквенно-цифровую строку в поле поиска

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

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

Нажимаем пкм и заходим в просмотр элемента
Видим, что строка была помещена внутри `img src` атрибута

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

Заново выполняем поиск, введя в поле `"><svg onload=alert(1)>`

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

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

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

- [https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded](https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded)

Отправляем случайную буквенно-цифровую строку в поле поиска 

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

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

Заменяем ввод следующей командой
`'-alert(1)-'`

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

Видим, что при перезагрузке страницы вылезает предупреждение

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

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


- [https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-dom-xss-reflected](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-dom-xss-reflected)

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

Выполняем поисковый запрос, введя в строку поиска `\"-alert(1)}//`

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

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

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

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

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

**CSRF:**

- [https://portswigger.net/web-security/csrf/lab-no-defenses](https://portswigger.net/web-security/csrf/lab-no-defenses)

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

Входим в учётную запись под учётными данными  `wiener:peter`

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

Добавляем электронную почту

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

Переходим во вкладку `Go to exploit server`

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

В поле `Body` вписываем следующий html шаблон

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

Отправляем его

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



- [https://portswigger.net/web-security/csrf/lab-token-validation-depends-on-request-method](https://portswigger.net/web-security/csrf/lab-token-validation-depends-on-request-method)

![](https://i.imgur.com/rgZmThC.jpg)

Входим в учётную запись под учётными данными  `wiener:peter`

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

Добавляем новую почту

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

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

Отправляем запрос в Burp repeater

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

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

Получаем ошибку

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

меняем POST на GET 

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

пишем эксплойт

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

отправляем

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

**SSRF:**

- [https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost](https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost)

![](https://i.imgur.com/fsgT3sP.jpg)

![](https://i.imgur.com/5ivUFHt.jpg)

Посещаем любой продукт и нажимаем`Check stock`

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

Изменяем в запросе параметр `stokApi` 

![](https://i.imgur.com/ntKmdJJ.jpg)

Отображается интерфейс администрирования

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

Смотрим html код и определяем url для удаления пользователя

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

Затем снова отправляем запрос и меняем значение параметра `stockApi`

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

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


- [https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection](https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection)

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

Отправляем запрос и меняем значение параметра `stockApi`

![](https://i.imgur.com/Cyy8Bob.jpg)

Затем снова отправляем запрос и меняем значение параметра `stockApi`

![](https://i.imgur.com/jE4j07K.jpg)

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


**RCE:**

- [https://portswigger.net/web-security/os-command-injection/lab-simple](https://portswigger.net/web-security/os-command-injection/lab-simple)

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

Переходим на любой товар и нажимаем `Check stock`, затем в Burp меняем в запросе параметр `storeID`

![](https://i.imgur.com/DqJEKha.jpg)

Получаем имя пользователя

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

![](https://i.imgur.com/dWvvTHn.jpg)


**Path traversal:**

- [https://portswigger.net/web-security/file-path-traversal/lab-simple](https://portswigger.net/web-security/file-path-traversal/lab-simple)

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

При отправке запросов, меняем значение параметра `filename`

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

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


- [https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass](https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass)

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

При отправке запросов, меняем значение параметра `filename`

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

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



## Dashboard

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