---
# System prepended metadata

title: WEB_Basic-Горбаконь_Кирилл-Практика_3
tags: [WEB]

---

###### tags: `WEB`

# WEB_Basic-Горбаконь_Кирилл-Практика_3

Место жительства: г. Москва 

## Основные атаки и паттерны

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

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

В поле логина вводим инъекцию `administrator'--`. Запрос к БД получится следующим:
    `SELECT * FROM users WHERE username = 'administrator'--` ~~AND password = '***'~~
    Проверка пароля закомментирована и учтена не будет.

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

Успешно входим в аккаунт.

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

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

Переходим в категорию *Gifts*. В адресной строке дописываем запрос:

`?category=Gifts' OR 1=1--`

С помощью такого запроса мы сможем увидеть все товары из базы данных. В запросе содержится набор двух условий, связанных оператором ИЛИ. Поскольку условие 1=1 всегда истинно, будет выведен каждый товар.

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

Задание успешно выполнено.

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

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

Чтобы получить данные из другой таблицы воспользуемся операцией UNION. Отправим следующий запрос:

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

Среди выведенных данных находим учетную запись администратора.

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

Задание успешно выполнено.

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

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

Определяем количество столбцов в таблице: 2

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

Отправляем запрос `SELECT @@version, 'a'#`

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

Выводится версия - 8.0.30

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

Задание успешно выполнено.

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


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

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

Открываем любую запись и в поле комментария вписываем вредоносный код.

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

Задание успешно выполнено.

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

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

Вводим поисковый запрос и исследуем код элемента. Запрос был записан в тег `<img src>`.

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

В открытых источниках ищем, как эксплуатировать XSS-уязвимости с помощью HTML-тегов.

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

Вставляем пейлоад `"><svg onload=alert(1)//`, скрипт сработал.

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

- [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/eE6MAb2.png)

Составляем следующий запрос:

`ABC'; alert(1);`

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

Скрипт не сработал. В конец запроса автоматически вставляется закрывающая кавычка. Добавим кавычку в конец своего запроса.

`ABC'; alert(1);'`

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

Скрипт успешно сработал.

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

Задание выполнено.

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


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

Отправляем запрос. Исследуя код элемента видим, что для поиска по запросу задействуется .js файл.

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

Откроем его.

`/resources/js/searchResults.js`

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

В функции поиска видим строку:

`eval('var searchResultObj = ' + this.responseText);`,

Где `this.responseText` - введенный нами запрос. Функция `eval()` в JS не является безопасной, поскольку может исполнять произвольный код(аналог `exec()` в *Python*). Вводим запрос: `\"-alert(1)}//`.

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

Задание успешно выполнено.

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

**CSRF:**

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

Входим в аккаунт **wiener:peter**.

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

Обновляем e-mail.

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

В истории находим запрос со сменой почты, копируем его URL.

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

Переходим в *exploit server*, формируем эксплойт, отправляем его по выбранному адресу.

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

Задание успешно выполнено.

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

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

Входим в аккаунт, обновляем e-mail. Находим запрос со сменой почтового адреса, копируем его URL.

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

Переходим в *exploit server*. Составляем экплойт, как в предыдущем задании, но меняем метод запроса на GET.

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

Задание успешно выполнено.

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

**SSRF:**

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

Открываем описание товара и нажимаем на **Check stock**.

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

Перехватываем запрос в **Burp**.

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

Меняем значение `stockApi` на `http://localhost/admin/delete?username=carlos`.

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

Задание успешно выполнено.

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

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

Заходим на старницу товара и нажимаем *Next product*. Перехватываем этот запрос в **Burp**. В запросе используется переадресация, попробуем подставить в поле `path=` другой адрес.

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

Перехватываем запрос при клике на **Check stock**, как в предыдущем задании. В значении `stockApi` вставляем адрес с предыдущего скриншота и меняем путь: `path=http://192.168.0.12:8080/admin/delete?username=carlos`

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

Задание успешно выполнено.

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

**RCE:**

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

Ловим запрос при нажатии на кнопку **Check stock**.

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

Изменяем значение `storeId=3|whoami`. Получаем ответ:

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

Задание успешно выполнено.

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

**Path traversal:**

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

Выбираем любой товар и ловим запрос в  **Burp**.

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

Меняем имя изображения на `../../../etc/passwd`.

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

В ответе получаем содержимое файла.

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

Задание успешно выполнено.

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

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

Выбираем любой товар из списка, переходим на его страницу и перехватываем запрос в **Burp**. В запросе содержится параметр `filename`.

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

Изменим его значение на `/etc/passwd`.

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

В ответе получаем содержимое файла.

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

Задание успешно выполнено.

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

* Статистика пройденных заданий.

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

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

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

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

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

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

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

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

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

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

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

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