---
# System prepended metadata

title: WEB_Basic-Фадеев_Александр-Практика-3

---

# WEB_Basic-Фадеев_Александр-Практика-3

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


### SQL-injection второго порядка
![](https://i.imgur.com/e9Hnvzf.png)
> в username пишем administrator закрываем одинарную скобку и ставим однострочный комментарий

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

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

---


### получение скрытых данных

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

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

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

> в СУБД отправляется запроc, под условия которого попадают все продукты(т.к. 1=1) и коментируем всё что следует после нашего запроса(-*-*)

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

---

### SQL-инъекция UNION-атака, извлечение данных из других таблиц

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


> узнаем количество полей в таблице


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

![](https://i.imgur.com/c4yZyEA.png)
>объединим таблицы
>
![](https://i.imgur.com/LiDA4Cq.png)

> находим логин и пароль


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

авторизируемся

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

---

### Атака SQL-инъекцией, запрос типа и версии базы данных на MySQL и Microsoft.

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

В Burp меняем наш запрос. Т.к. предполагается работа с mysql необходимо учитывать особенности этой субд. ![](https://i.imgur.com/9IcRXZo.png)


![](https://i.imgur.com/8iYOsOk.png)
> узнаем количество полей
![](https://i.imgur.com/nlLRD3b.png)

> узнаем версию 
![](https://i.imgur.com/BCeIGYQ.png)
![](https://i.imgur.com/aLlTgdu.png)

> информация о версии mysql
> 
![](https://i.imgur.com/roJOtj5.png)


`особенности работы с разными субд: https://portswigger.net/web-security/sql-injection/cheat-sheet`
## XSS уязвимости:

### Сохраненный XSS в контексте HTML без каких-либо кодировок
![](https://i.imgur.com/2cheJeA.png)
> оставляем комментарий
![](https://i.imgur.com/oojchXJ.png)

теперь при загрузке этой страницы будет появляться уведомление
![](https://i.imgur.com/xJFV1k3.png)

### DOM XSS in document.write sink using source location.search


![](https://i.imgur.com/ApaHAmV.png)
попробуем найти все упоминания "FGHUUGV" в коде страницы. Найдем тег для отображения граф фотографий и атрибут содержащий "FGHUUGV". Его выдает скрипт(написанный над тегом)
![](https://i.imgur.com/w575cmn.png)
пробуем изменить поиск и вводим след.
![](https://i.imgur.com/MB4ROCZ.png)

после загрузки страницы выполняется скрипт и открывает всплывающее окно 
![](https://i.imgur.com/iotSy68.png)

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



### Reflected XSS into a JavaScript string with angle brackets HTML encoded

![](https://i.imgur.com/LQqjUzF.png)
жмем поиск
![](https://i.imgur.com/80SFNGI.png)

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

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

### Reflected DOM XSS

- вводим любой запрос в поиск 

- ищем отправленный запрос и смотрим куда он отпр.
![](https://i.imgur.com/rWZGbVP.png)
во вкладке target->sitemap(если в Burp) или ctrl+shift+c и раздел sources(если окно браузера)
переходим туда
![](https://i.imgur.com/vFyMwnS.png)

![](https://i.imgur.com/G1t8iCm.png)
в поисковой строке пишем след выражение
```
\"-alert(1)}//
```
![](https://i.imgur.com/041FWhT.png)
![](https://i.imgur.com/iX0XzEX.png)

## CSRF:

### CSRF vulnerability with no defenses

заходим в аккаунт
![](https://i.imgur.com/PWtD93R.png)

> меняем почту, после переходим burp и редактируем наш запрос оставляя самое главное
![](https://i.imgur.com/b0SZJ4M.png)


> генерим CSRF PoC
![](https://i.imgur.com/uaXZR5m.png)


> на сайте лабы жмем "go to exploit server" и стави в поле body 
![](https://i.imgur.com/7DgmEpc.png)

сменим еще раз почту

test4&#64;example&#46;com

жмем "store" и "View exploit"
![](https://i.imgur.com/IQQCnW1.png)

"submit"
![](https://i.imgur.com/MBXJ4nD.png)

добавим в body след скрипт 
![](https://i.imgur.com/7qU2Eqc.png)
кнопка submit нажмется автоматически при открытии страницы

жмем "Deliver exploit to victim"
![](https://i.imgur.com/TEFsWjs.png)

### CSRF where token validation depends on request method

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


> включаем intercept и меняем почту
> 
> ![](https://i.imgur.com/cTvA8OA.png)
> получаем пост запрос

> переходим в repeater и меняем метод запроса
> ![](https://i.imgur.com/TZ7YE3x.png)
> вероятно проверка на уникальное значение имеется только на запросах пост
> &csrf=... можно удалить

> генерим CSRF PoC
![](https://i.imgur.com/mhOUwT9.png)


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


передаем эксполит жертве

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

## SSRF:

### Basic SSRF against the local server


Открываем страницу продукта и отправляем запрос.
![](https://i.imgur.com/kMTgLFD.png)
В Burp сохраняем в repeater

![](https://i.imgur.com/Gv55Gug.png)
нас интересует stockApi

> попробуе получить доступ к самому прилдожению
> (ctrl+shfit+u - decode)
> 
> ![](https://i.imgur.com/rtyEThj.png)

проверим запущено ли приложение на локальном хостинге
![](https://i.imgur.com/spbxDX0.png)
ответ положительный

если нажмем на render, отобразится страница.
![](https://i.imgur.com/u3FbjsY.png)

можем заметить новую панель администратора
вероятно между клиентом на котором запущено прил и сервером установлено доверительын отношения, т.к. предполагается что клиент уже прошел авторизацию. 

получим доступ к интерфейсу администратора

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

> меняем запрос
> ![](https://i.imgur.com/Ht0t1xO.png)

![](https://i.imgur.com/Fa4sqwe.png)
в коде с помощью search находим все упоминания "delete"
![](https://i.imgur.com/SIRRIx0.png)

меняем stockApi
![](https://i.imgur.com/aWLPfV7.png)

![](https://i.imgur.com/HfgRxq5.png)
нас перенаправляют на другую страницу
![](https://i.imgur.com/ZKRplrH.png)
отказ в доступе

вернемся к интерфейсу администратора
![](https://i.imgur.com/nOCwQXr.png)

![](https://i.imgur.com/ZNMz1I1.png)
пользователь был удален

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

### SSRF with filter bypass via open redirection vulnerability

в конце страницы можно найти новую функцию для просмотра след. продукта
![](https://i.imgur.com/Id6K3Ik.png)
сохраним пост запросы и check stock и next product

при попытки зайти на localhost след ошибка
![](https://i.imgur.com/DpobovS.png)


посмотрим вторую функцию. Она перенаправляет нас на следующий продукт списка.
![](https://i.imgur.com/i4MAymj.png)

возьмем этот путь и поставим его на место другого в параметре stockApi. в результате ошибка о непрвильности пути появляться не будет, т.к. это допустимый путь в приложении
и допишем адрес который довался в начале лаб работы
![](https://i.imgur.com/uJ1KnIB.png)
и кодируем адрес
![](https://i.imgur.com/ZtX1AQY.png)
![](https://i.imgur.com/c1UP1op.png)

в рендере увидим следующее
![](https://i.imgur.com/Q3CeR2y.png)

дальше действ не отл от пред задания

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

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

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

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

## RCE:

### OS command injection, simple case

переходим на страницу продукта и жмем check stock 
![](https://i.imgur.com/52ejPbt.png)

![](https://i.imgur.com/SO7TOTy.png)
добавим команду whoami и добавим # для комментирования оставшейся троки
и кодируем
![](https://i.imgur.com/NaF36Vd.png)

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

> видим след ответ
> ![](https://i.imgur.com/yEoXgPr.png)

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

## Path traversal:

### File path traversal, simple case

включаем intercept и жмем f5 на странице лаб.
![](https://i.imgur.com/qT1gkSe.png)
выбираем get запрос на фотографию 
![](https://i.imgur.com/bS0exFV.png)
меняем "61.jpg" на абсолютный путь до passwd
/etc/passwd
![](https://i.imgur.com/CWAZPrJ.png)
> попробуем ввести относительный
> 
> ![](https://i.imgur.com/gIEr4of.png)

> в итоге получаем содержимое файла passwd 
> ![](https://i.imgur.com/hTBBxjJ.png)

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

### File path traversal, traversal sequences blocked with absolute path bypass

![](https://i.imgur.com/mim8V6a.png)
введем абсолютный путь
![](https://i.imgur.com/bXuWNvK.png)

результат
![](https://i.imgur.com/COB9Ezb.png)

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

