# WEB_Basic-Малышев_Роман-Практика-3 *Выполнил Малышев Роман* ## SQL-injection уязвимости 1. **Уязвимость SQL-инъекция, позволяющая войти в систему.** Для этого нужно знать логин, который есть в базе данных, но не нужно знать какой у него пароль. Введем имя пользователя username и рандомный пароль. ![](https://i.imgur.com/tx893X5.png) Получим ошибку в аутентификации, если не будем перехватывать запрос и поправлять username. ![](https://i.imgur.com/Hu1KTp0.png) Воспользуемся уязвимостью. ![](https://i.imgur.com/44qC3yz.png) ![](https://i.imgur.com/D7bcWhb.png) Также можно было ввести под username:`administrator'--` и также успешно зайти. ![](https://i.imgur.com/iZA7xrB.png) 2. **Уязвимость SQL-инъекции в условии WHERE, позволяющее извлекать скрытые данные.** Данная уязвимость позволяет перечислить все объекты которые есть в базе данных, то есть фильтр на поиск не будет работать. ![](https://i.imgur.com/7ygiRTE.png) ![](https://i.imgur.com/YiLWbw9.png) 3. **SQL-инъекция UNION атака, извлечение данных из других таблиц.** Сначала нужно понять сколько столбцов в таблице. Сделаем за SQL запросы на один, два и три столбика. Таким образом выясним, что в таблице два столбика. ![](https://i.imgur.com/dXOxhDi.png) ![](https://i.imgur.com/5jb4XyE.png) ![](https://i.imgur.com/ReLbZjM.png) Теперь из таблицы users извличем данные по столбцам username и password. ![](https://i.imgur.com/b6pcgKK.png) Аналогичным образом, можно через поисковую строку. Здесь ещё лучша видны кофиденциальные данные. ![](https://i.imgur.com/u1KkrWg.png) Теперь зайдем в аккаунт. ![](https://i.imgur.com/CSGgkVX.png) ![](https://i.imgur.com/MNEWFLS.png) 4. **SQL-инъекция, запрашивающая тип и версию базы данных в MySQL и Microsoft.** Выясним аналогично сколько в таблице содержится столбиков. ![](https://i.imgur.com/evhBG0D.png) ![](https://i.imgur.com/LEqd93m.png) ![](https://i.imgur.com/TSq9nhA.png) И да, # -- это комментарий, если попробуем вместо него использовать комментарий `--` -- он будет заблокирован. ![](https://i.imgur.com/ytCbQDq.png) Сделаем запрос, чтобы выяснить версию базы данных ![](https://i.imgur.com/X1qpBQR.png) ![](https://i.imgur.com/Tri6sMy.png) ![](https://i.imgur.com/SDqLPUT.png) ## XSS уязвимости 1. **Хранимая XSS через коментарии**. ![](https://i.imgur.com/ld6Ia65.png) Напишем в комментариях скрипт, который высветит сообщение "Hello". ![](https://i.imgur.com/Qw1nRKR.png) 2. **XSS в DOM-модели**. ![](https://i.imgur.com/c9edwCO.png) ![](https://i.imgur.com/HVGqohX.png) 3. **Отраженная XSS**. ![](https://i.imgur.com/fffD2fY.png) ![](https://i.imgur.com/yM22z7R.png) ![](https://i.imgur.com/drrvQz6.png) ![](https://i.imgur.com/sq4rgXg.png) ![](https://i.imgur.com/6mnwVTK.png) 4. **Отраженная DOM XSS**. ![](https://i.imgur.com/2ADE49e.png) ![](https://i.imgur.com/Jo4fSuR.png) ![](https://i.imgur.com/15D3FHj.png) ![](https://i.imgur.com/gVfdQZL.png) ## CSRF 1. **Уязвимость CSRF без защиты**. Войдем под учетной записью: `wiener:peter`. ![](https://i.imgur.com/WU2CRiv.png) Обновим почту, допустим tester@google.com. ![](https://i.imgur.com/2Xexcep.png) Напишем скрипт который поменяет у пользователя почту. ![](https://i.imgur.com/Eye6VWl.png) ![](https://i.imgur.com/bDfFgQT.png) ![](https://i.imgur.com/h3KxAHg.png) ![](https://i.imgur.com/K1YHitr.png) 2. **CSRF, где проверка токена зависит от метода запроса**. Аналогично войдем под учетной записью: `wiener:peter`.![](https://i.imgur.com/uDlwtpj.png) Обновим почту, допустим tester@google.com.![](https://i.imgur.com/fJVmV81.png) ![](https://i.imgur.com/7NP8YOp.png) ![](https://i.imgur.com/tsRFG4U.png) ![](https://i.imgur.com/e9XUNBb.png) Это происходит потому что приложение правильно проверяет токен, когда в запросе используется метод POST, но пропускает проверку, когда используется метод GET. ## SSRF: 1. **Базовый SSRF для локального сервера**. Можем сделать запрос на сайт и усзнать сколько данного товара в Лондоне. ![](https://i.imgur.com/oPoz7JZ.png) Перехватим теперь в Burp Suite и подделаем запрос, так что бы увидеть интерфейс администрирования. Стандартный запрос. ![](https://i.imgur.com/8sJIN4Y.png) Подделанный. ![](https://i.imgur.com/T8sv8nX.png) Видим теперь пользователей. ![](https://i.imgur.com/ECt7ISw.png) Удалим Карлоса. ![](https://i.imgur.com/xi20YMC.png) ![](https://i.imgur.com/f5pC9Uy.png) ![](https://i.imgur.com/CcN3VYy.png) 2. SSRF с обходом фильтра через открытую уязвимость перенаправления. Попробуем сделать как в прошлом задании, но ничего не получится. ![](https://i.imgur.com/CAeixL0.png) Перейдем на следующий продукт. ![](https://i.imgur.com/FCdIB7C.png) Формируем теперь запрос, чтобы получить админский интерфейс. ![](https://i.imgur.com/d69wmQ7.png) ![](https://i.imgur.com/byC2Lij.png) А теперь удалим Карлоса, здесь можно подсмотреть как правильно ввести команду. ![](https://i.imgur.com/vKqBmz7.png) ![](https://i.imgur.com/SvtxDeL.png) Проверим через админский интерфейс и видим, что пользователь был успешно удален. ![](https://i.imgur.com/ImIpud0.png) ## RCE: **Внедрение команд операционной системы в простом случае**. Сделаем запрос на количетсво данного товара. ![](https://i.imgur.com/FrNRWrG.png) Стандартный запрос.![](https://i.imgur.com/ywfPDqk.png) Модернизируем. ![](https://i.imgur.com/QcrFFBG.png) Получили имя пользователя. ![](https://i.imgur.com/UY0twou.png) ## Path traversal 1. **File path traversal в простом случае**. Стандартный запрос. ![](https://i.imgur.com/pqgDB25.png) Модифицированный, с помощью него получили данные о пользователях.![](https://i.imgur.com/eFK80VN.png) ![](https://i.imgur.com/TDNb4hJ.png) 2. **Path traversal последовательности обхода, заблокированные абсолютным обходом пути**. Стандартный запрос. ![](https://i.imgur.com/RgwG5NN.png) Модифицированный. ![](https://i.imgur.com/1TpTZrh.png) ![](https://i.imgur.com/Ofjy8zM.png) ![](https://i.imgur.com/eIl7GJB.png) ## Итоговая статистика: ![](https://i.imgur.com/5ShroTn.png) ![](https://i.imgur.com/wJvFRYS.png) ![](https://i.imgur.com/zz6FSdd.png) ![](https://i.imgur.com/EfFEui0.png) ![](https://i.imgur.com/60xa9Ck.png) ![](https://i.imgur.com/2yvUFLP.png) ![](https://i.imgur.com/S5RjBGR.png) ![](https://i.imgur.com/EuG6XMz.png)