---
# System prepended metadata

title: Практическая работа 3
tags: [' web basics', pt-start]

---

---
title: Практическая работа 3
tags: pt-start, web basics
---

> [name=despersy]
> Перед начало работы отмечу, что изначально я не полностью прочитал условие работы и подумал, что надо выполнить атаки на скачаном сервере, ибо он для этого и сделан. Реализации данных атак я выделил в отдельные теги перед основной работой.

## SQL injection
### На скачанном докере
Сначала запускаем докер на 80 порту.
![](https://i.imgur.com/jJ1tr8u.png)
Пробуем саму базовую атаку. Она расссчитана на то, что сервер проверяем пароль возвращая true. В таком случае моя атака сработает, ибо я закрываю скобку данных, после чего записываю выражение, которое 100% вернет true, после чего комментирую всю остальную часть.
![](https://i.imgur.com/BYLrYhs.png)
И она сработала.
![](https://i.imgur.com/m5AHSP8.png)
### Реализация sql injection на сервере без защиты
Повторяем действие, которое было уже проделано и описано в предыдущем пункте.
![](https://i.imgur.com/MXiZRYq.png)
Смотрим результат.
![](https://i.imgur.com/Kk1ktAh.png)
### Реализация sql injection с работой через скрытые файлы.
Тут уже никаких ссылок нет, поиска тоже, поэтому лезем в код сайта.
![](https://i.imgur.com/xp539xO.png)
А вот и работа фильтра поиска. Возможно тут получиться что-нибудь устроить.
![](https://i.imgur.com/BljAMtq.png)
Если заменить значение в самом фильтре, возможно, выдаст что-то другое. 
![](https://i.imgur.com/FXmBgHk.png)
Результат печальный
![](https://i.imgur.com/ky6aqzg.png)
Тогда лезем в burp и смотрим запрос через перехват
![](https://i.imgur.com/5gtN5S7.png)
Меняет результат фильтра на другой, чтобы получить все данные.
![](https://i.imgur.com/wSMmVfi.png)
Ловим ошибку и меняем запрос на запрос переделанный под ссылку.
![](https://i.imgur.com/wlwuBRZ.png)
И опять внутренняя ошибка...
![](https://i.imgur.com/HFJQIc5.png)
Теперь лезем в путь и меняем его. Это тоже не сработало.
![](https://i.imgur.com/jNoNsxd.png)
Тут до меня дошло, что я пока не проверял работу именно через запись в поисковой строке. Пробуем и получаем хороший результат.
![](https://i.imgur.com/PZZZq7g.png)
### Атака с получением данных из другой таблицы.
Пробуем сначала просто попасть внутрь системы
![](https://i.imgur.com/z0Cazq6.png)
Ага. Не работает.
![](https://i.imgur.com/j80B2TF.png)
В описании работа есть UNION, следовательно, надо работать через него. Пробуем изменить запрос на UNION SELECT 'столбец1','столбец2' --. Это делается, чтобы проверить количество столбцов в таблице.
![](https://i.imgur.com/WZy3WzF.png)
Ясно, делаем иначе.
![](https://i.imgur.com/CQBZ3mj.png)
Пробуем написать тоже самое, только уже через строку. Запрос сработал.
![](https://i.imgur.com/kurNDNt.png)
Проверяем второй раз. Получаем две строчки в ответ.
![](https://i.imgur.com/CbGUJ5w.png)
Теперь попробуем вытащить все данные из таблицы пользователей. Получаем данные с паролями.
![](https://i.imgur.com/ajOng9u.png)
Берем данные админа и входим в систему.
![](https://i.imgur.com/qK7VG9D.png)

### Атака sql с получение версии системы.
Пробуем напролом. Не выходит. Хотя у меня и запрос немного неверный.
![](https://i.imgur.com/e28xp2K.png)
За кадром я проверил еще несколько вариаций атак, которые были до этого, но все они не прошли. По итогу перешел в repeater и начал работать с запросами тут. Сработало.
![](https://i.imgur.com/ybYzFi7.png)
гуглим вызов версии из sql и пробуем запрос, который был только что, только теперь заменяем первый столбец. Результат успешный
![](https://i.imgur.com/sPOGexI.png)

## xss атаки.
### Реализация на докер сервере
Пробуем внедрить код в поисковую строку. Результат положительный.
![](https://i.imgur.com/p8RFDZ9.png)
Теперь пытаемся закунуть полноценный скрипт. Это не выходит. Стоит отметить, что есть несколько вызовов alert, я использовал один из них, также монжо попробовать сделать это через iframe
![](https://i.imgur.com/NNwoLSq.png)
Через iframe сработало.
![](https://i.imgur.com/wjS2FTx.png)
Чисто из интереса пробую запустить сайт для рикролла, ибо ютуб блокируется как и другие сервисы.
![](https://i.imgur.com/vh9lvYx.png)
### xss без кодирования
Пробуем воткнуть в ссылку запрос, получаем not found
![](https://i.imgur.com/YAPCCE5.png)
Тогда начинаем лазить по сайту на предмет тектбоксов. Находим таковой в коментариях у товарам. Пробуем запустить тут.
![](https://i.imgur.com/Ua3evTy.png)
Сработало.
![](https://i.imgur.com/klKELIL.png)
### xss dom атака
Пробуем через поисковую строку. Не выходит. Значит идем дальше.
![](https://i.imgur.com/5xXX5iR.png)
![](https://i.imgur.com/srqeBD4.png)
Поравшись в сайте, я пошел в его углубленное изучение вплоть до скриптов через burpsuite. В итоге нашел схему работы запроса. По сути мой текст в тупую добавляется к поисковому запросу.
![](https://i.imgur.com/ZO6jc2S.png)
Пробуем закрыть тег сделав другую img, но это не сработает
![](https://i.imgur.com/JXWhmuQ.png)
Тогда как вариант можно использовать svg, ибо у него есть параметры onload для скриптов
![](https://i.imgur.com/hgQT9Vu.png)
Результат удачный
![](https://i.imgur.com/0veuKt4.png)
### reflected xss
Ну раз в заголовке записан html, то и лезть надо в него.
![](https://i.imgur.com/HIyyL7O.png)
Пробую добавить комментом сроку. Результат, очевидно, неудачный.
![](https://i.imgur.com/3ChQjL5.png)
Пробуем немного изменить разметку между alert
![](https://i.imgur.com/msjPuFy.png)
Результат успешный.
![](https://i.imgur.com/Tg4mT02.png)
### xss reflected dom
Надо полагать, что теперь вообще все атаки работать не будут не через burpsuite, поэтому лезем сразу в него. Есть путь и есть результат.
![](https://i.imgur.com/dPKYIW0.png)
Рельтат нулевой
![](https://i.imgur.com/qgFclQq.png)
Потыкав еще по всем блокам я опять лезу в js. Тут можно заметить, что результат вычтитывается через eval. По идее закоментив ненужную часть я смогу выполнить запрос, нужный мне.
![](https://i.imgur.com/VdflBZ9.png)
Пробуем
![](https://i.imgur.com/N9SJEPL.png)
Результат успешный
![](https://i.imgur.com/yDYyZJt.png)

## CSRF атаки
### Реализация на докере.
Тут я узнал, что есть таблица лидеров.
![](https://i.imgur.com/Mb9LYZp.png)
Переходим на страницу пользователя. Тут берем теги и готовим отправку на страницу
![](https://i.imgur.com/NqKJMdF.png)
![](https://i.imgur.com/0Us8zhh.png)
Так как новые браузеры не дают выполнять подобные атаки, я пользовался konqueror'ом для этого. На моменте запуска со второго окна есть возможность запустить код, после чего у пользователя измениться имя
```
<html>
<body>
<iframe srcdoc='
 <html>
 <body>
 <form action="http://192.168.0.122/profile" method="POST">
 <input type="hidden" name="username" value="desp_new_name" />
 <input type="submit" value="Submit Request" />
 </form>
 <script>document.forms[0].submit();</script>
 </body>
 </form>
'></iframe>
</body>
</html>
```
![](https://i.imgur.com/ih4Ot4R.png)

### csrf атака на сервер без защиты
Так как в ТЗ присутствуют стартовые данные, то изначально входим под ними
![](https://i.imgur.com/WIlVztE.png)
Через intercepter ловим пост запрос и делаем из него csrf
![](https://i.imgur.com/NfkWPbY.png)
Теперь жем по exploit server
![](https://i.imgur.com/hKqt1HJ.png)
и выполняем полученный скрипт
![](https://i.imgur.com/1M1KYet.png)
### csrf с открытым переходом
Повторяем действия и предыдущего пункта
![](https://i.imgur.com/JF08OEQ.png)
Переходим в csrf generator
![](https://i.imgur.com/C0DZinM.png)
Запускаем код
![](https://i.imgur.com/8Hmr5r1.png)
![](https://i.imgur.com/n9dwfT7.png)

## ssrf атаки
Пробуем попасть на страницу администратора. Требует пароль
![](https://i.imgur.com/0qEuvbw.png)
Просто из интереса пробую инъекцию. Само собой нет
![](https://i.imgur.com/wk3xXDk.png)
Тогда лезем по товарам. Есть активные кнопки в продуктах. Возможно именно это мне и нужно
![](https://i.imgur.com/8awSPXD.png)
Смотрим его через код страницы. А вот и запрос к базе появился
![](https://i.imgur.com/hyPFbw5.png)
В ТЗ localhost, поэтому пробуем его. Немного не то, поэтому просто вводим
![](https://i.imgur.com/clK7HUj.png)
![](https://i.imgur.com/D3WRGpd.png)
Теперь смотрим на запрос, привязанный к этим кнопкам
![](https://i.imgur.com/2JWOMIJ.png)
Немного модифицируем свой запрос
![](https://i.imgur.com/dy04hZu.png)
Удаляем пользователя и получаем поздравления
![](https://i.imgur.com/u5purVQ.png)
### ssrf валидация токенов
Сразу берем пакет и отправляем в репитер
![](https://i.imgur.com/2tbLgUU.png)
Пробуем отправить запрос на путь админа
![](https://i.imgur.com/I5nKI9P.png)
В итоге получаем список пользователей
![](https://i.imgur.com/5huVMBi.png)
Через этот же репитер выполняем удаление пользователя
![](https://i.imgur.com/kQxiFS1.png)
Смотрим на результат
![](https://i.imgur.com/Xt42UU0.png)
## RCE
Как и раньше начинаем с перехвата трафика к серверу и попыток его модифицировать
![](https://i.imgur.com/tdNSdcT.png)
Подобным образом мы уже пытались выполнить rce, поэтому попробую еще раз.
![](https://i.imgur.com/0Dha77V.png)
И да, ls сработал
![](https://i.imgur.com/00e2yU3.png)
Теперь запускаем whoami
![](https://i.imgur.com/innkAS6.png)
Смотрим на результат
![](https://i.imgur.com/Jkg5nP4.png)
## Path traversal
### Простой вариант
Описание выводится через фильтрацию, поэтому смотрим дальше
![](https://i.imgur.com/sq9dkbc.png)
Пробуем на rce
![](https://i.imgur.com/iJJHxDR.png)
Не-а.
![](https://i.imgur.com/KQqTKvt.png)
Пробуем второй вариант
![](https://i.imgur.com/YO7ovfh.png)
Ну, картинку сломал
![](https://i.imgur.com/vJZZJ7Q.png)
Пробуем выйти за границы пути. Почему несколька "../"? /var/www/html. Мы выходим из каждой директории до корня и идет в /etc/passwd. /etc/passwd просто я уже пробовал, поэтому пошел выходит постепенно из директории, ибо нахождение всех файлов в корне html могло быть и неверным.
![](https://i.imgur.com/vDSXfJZ.png)
Смотрим ответ от сервера.
![](https://i.imgur.com/qKkaGsm.png)
![](https://i.imgur.com/RWcCMXz.png)
### path traversal при помощи абсолютного пути
Пробуем повторить прошлую работу, постепенно добавляя к пути ../
![](https://i.imgur.com/j9NGNEb.png)
аа... И не пришлось даже. Так даже лучше
![](https://i.imgur.com/h5L9fsh.png)
