Задание Практической работы: ---------------------------- общая статистика по выполненым работам ![](https://i.imgur.com/FLDY6mI.png) На стенде по адресу [](https://portswigger.net/web-security)[https://portswigger.net/web-security](https://portswigger.net/web-security) разобрать следующие задания: **SQL-injection уязвимости:** - 1 открываем burp suite, браузер для него и в браузере заходим в лабу ![](https://i.imgur.com/JDRDgNG.png) нажимаем мой аккаунт в браузере и в burp suite вкючаем режим перехвата ![](https://i.imgur.com/ndmxUtw.png) дальше в поле имени и пароля вводим administrator и любой пароль![](https://i.imgur.com/suuyo3O.png) в burp suite вводим '-- после administrator дабы закоментировать все что идет после него ![](https://i.imgur.com/iegK87j.png) после этого нажимаем forward и видим что в браузере нас просят обновить e-mail меняем e-mail и отжимаем перехват в burp ![](https://i.imgur.com/DFmFx6A.png) наш e-mail изменен и теперь у нас есть доступ в аккаунт администратора ![](https://i.imgur.com/7TWcogn.png) - 2 заходим на уязвимый сайт ![](https://i.imgur.com/Jj7yDFw.png) выбираем любую категорию ![](https://i.imgur.com/wtXqmW2.png) мы видим URL где в конце обозначается какаю категорию мы выбрали "lifestyle" модифицируем запрос к приложению таким образом: ![](https://i.imgur.com/I8c98Jo.png) теперь мы видим как у нас отобразились новые позиции это и есть скрытые элементы которые мы увидили благодаря модификации запроса ![](https://i.imgur.com/g33yvKF.png) все дело в том что при передачи запроса приложению оно считывает '+OR+1=1-- как логическое и поскольку 1=1 всегда верно, запрос вернет все элементы. еще эту лабу можно выполнить другим способом, который выведет нам только все обьекты категории lifestyle путем дописывания в строку '-- после lifestyle это работает потому что для sql -- это комментирование и получается что все после lifestyle не выполняется, а именно после lifestyle у нас идет параметр, который мы не вводим но он есть контролирующий вывод только того что задуманно AND released = 1 - именно это и комментируется - 3 для начала давайте определим количество столбцов которые имет строковые значения для этого добавим в URL '+union+select+'null',null-- и будем каждую итерацию проверять на одну столбец больше ![](https://i.imgur.com/rK1iGyw.png) первая итерация ![](https://i.imgur.com/Fc99X7a.png) уже вторая итерация нам говорит что больше столбцов нет, поэтому давайте протестируем что будет есди написать теперь '+union+select+'test','test2'-- ![](https://i.imgur.com/LxeGQYd.png) мы видим, что у нас на странице отобразилось test и test2 вообще мы итак знали что у нас есть таблица ее название а так же 2 столбца с названиями username и password но для общирности способа был расписан алгоритм для случая когда у нас нет информации о количестве столбцов в таблице. теперь к основной части атаки после категории введя '+union+select+username,password+from+users-- мы видем следующее ![](https://i.imgur.com/iFU3DAI.png) 3 учетные записи и пароль к ним включая данные администратора попробуем залогинитьтся с помощью данных из этого вывода данные подходят, лаба решена ![](https://i.imgur.com/xhj8Z9q.png) - 4 включим burp suite на перехват трафика и откроем страницу с любой категорией ![](https://i.imgur.com/kKEkOK4.png) давайте найдем количество столбцов в таблице для этого надо: передать данные о запросе в повторитель, отключить перехват и перейти во вкладку repeater ![](https://i.imgur.com/nZ1s0uB.png) модифицируем запрос добавив в конец '+order+by+1# и отправляем его ![](https://i.imgur.com/jwexFN7.png) получаем ответ проверим есть ли там еще столбцы выполнив несколько итераций заменяя номер от 1 и так далее ![](https://i.imgur.com/jzRgSht.png) ответ есть ![](https://i.imgur.com/PRFENwc.png) при попытке произвести 3 итерацию у нас вылезла ошибка 500 Internal Server Error это означает что всего есть 2 столбца проверим являются ли они текстовыми еще раз модифицировав запрос 'UNION SELECT 'a', 'a'# ![](https://i.imgur.com/YDsW4An.png) поля являются текстовыми теперь давайте узнаем версию БДшки с помощью команды 'UNION+SELECT+%40%40version,+NULL%23 в конце мы приписываем +NULL%23 потоу что поля у нас 2 а вывести нам должно только одно после с версией ![](https://i.imgur.com/nPzsfV6.png) вот и версия ![](https://i.imgur.com/mKx87lt.png) лаба решена **XSS уязвимости:** - 5 для того чтобы решить это лабу нужно вписать определенный текст в форму комментария и увидеть алерт заходим на уязвимый сайт ![](https://i.imgur.com/sOBduTq.png) переходим на любой пост и пишим в комментарий следущее <script>(1)</script> ![](https://i.imgur.com/plfeYwU.png) результат ![](https://i.imgur.com/Qj2vzjl.png) лаба сделана ![](https://i.imgur.com/ZEmvzl4.png) - 6 проведем происк рандомного набора букв ![](https://i.imgur.com/kH2r3yi.png) через код элемента увидим, что наш происк помещен в img ![](https://i.imgur.com/GTKmjp3.png) теперь введем в строку поиск данный скрипт и выполним поиск ![](https://i.imgur.com/RRdTZgG.png) ![](https://i.imgur.com/afDKzNO.png) появляется алерт ![](https://i.imgur.com/YUCLGTF.png) лаба решена - 7 входим в burp и открваем в браузере сайт с уязвимостью ![](https://i.imgur.com/LW5f3Vj.png) включаем перехват и отправляем запрос в поисковой строке из букв и цифр ![](https://i.imgur.com/KZfNGDF.png) передаем перехваченый запрос репитеру и отрубаем перехват ![](https://i.imgur.com/va0E028.png) с репитера отправляем запрос еще раз и видим в ответном html 2 совпадения по слову ![](https://i.imgur.com/TIicoco.png) одно в 1-ом заголовке и выводит на экран инфу о том что результатов поиска 0 а второй в джава скрипте который собственно и выполняет поиск давайте в поиск введем следущее '-alert(1)-' ![](https://i.imgur.com/0WUfiVv.png) сдесь мы видим алерт потому что наш поиск выполнился как код ![](https://i.imgur.com/T3NoZI9.png) нажав ок мы видим что лаба была решена ![](https://i.imgur.com/ojAuGRO.png) - 8 открываем burp и лабу в браузере ![](https://i.imgur.com/38flTFi.png) для начала введем какой-нибудь текстовой запрос в поисковую строку ![](https://i.imgur.com/aIjE1Wv.png) откроем http историю берпа и увидим наш GET запрос на поиск рандомных букв ![](https://i.imgur.com/NOny1ED.png) видим что наш поиск находится в JSON формате В burp перейдем на вкладку target и найдем наш запрос в папке js в файле searchResults.js ![](https://i.imgur.com/PWcz7Vs.png) сдесь мы видим что наш поиск находится внутри функции eval попробуем вывести алерт с помощью следующей строки которую мы впишем в поиск в браузере \\"-alert(1)}// ![](https://i.imgur.com/tXZWoTk.png) алерт выводится ![](https://i.imgur.com/JvMDQQn.png) лаба решена ![](https://i.imgur.com/w7L0inD.png) **CSRF:** - 9 для начала откроем burp и в браузере уязвимый сайт ![](https://i.imgur.com/Vuj6Lnq.png) с помощью данных которые нам дают в лабе залогинимся ![](https://i.imgur.com/0Y6RPSj.png) после этого у нас попросят обновить почту тогда мы включаем в burp перехват и вводим тестовую почту ![](https://i.imgur.com/v9QbRSs.png) отправляем это на репитер и отжимаем перехват ![](https://i.imgur.com/jy4xmGs.png) теперь мы видим что почта изменина ![](https://i.imgur.com/y7mZt4F.png) т.к. я использую burp suite community edition я буду вручную писать html код и всталю его в сервер эксплойтов ссылка на который есть вверхней части страницы уязвимого сайта ![](https://i.imgur.com/useqZju.png) так выглядит мой html код ![](https://i.imgur.com/ZzccnGn.png) url я буду брать из burp а метотр использвую POST ![](https://i.imgur.com/VmZphua.png) ![](https://i.imgur.com/Gn89mh5.png) теперь надо заполнить переменные name и value первое это "email" пользователя а второе сам email ![](https://i.imgur.com/XeKMEgS.png) теперь нажимаем store чтобы сохранить ![](https://i.imgur.com/SWhICFR.png) далее нажмем viev exploit чтобы убедиться что все работает ![](https://i.imgur.com/CYceYV3.png) и наконец нажимаем Deliver exploit to victium ![](https://i.imgur.com/ezBZYyM.png) видим поздравление что лаба выполнена ![](https://i.imgur.com/JksUK3P.png) email изменился ![](https://i.imgur.com/XgGnfzH.png) - 10 откроем burp suite и в браузере откроем сайт с уязвимостью ![](https://i.imgur.com/6nlQ8mp.png) залогинимся на сайте ![](https://i.imgur.com/JsSECh8.png) включим перехват и поменяем почту ![](https://i.imgur.com/ERkDQwm.png) отправляем запрос на репитер и отрубаем перехват ![](https://i.imgur.com/g5bAg11.png) изминяем метод запроса с POST на GET ![](https://i.imgur.com/jEmdGUo.png) отправляем этот вопрос и нажимаем следовать переодресации и получаем ответ от сервера ![](https://i.imgur.com/xy07WdY.png) мы видим, что у нас удалось поменять пароль через GET запрос ![](https://i.imgur.com/jKCFqiW.png) теперь попробуем убрать CSRF токен и отправить GET запрос на изменение почты еще раз ![](https://i.imgur.com/gC5mFji.png) почту удалось изменить т.к. я использую comunity edition я буду писать html код сам ![](https://i.imgur.com/QONv8Ek.png) мохроняем скрипт при помощи кнопки store ![](https://i.imgur.com/IQJtBuz.png) проверяем что все как надо через view exploit ![](https://i.imgur.com/FAvkbOL.png) и нажимаем Deliver exploit to victium ![](https://i.imgur.com/jBKifYs.png) видим поздравление о том что лаба решена ![](https://i.imgur.com/NRuWb3D.png) почта изменена ![](https://i.imgur.com/DkksmFG.png) **SSRF:** - 11 открываем burp и сайт с уязвимостью ![](https://i.imgur.com/bWlyBcw.png) откроем на сайте любой продукт и включим перехват трафика ![](https://i.imgur.com/m6Vz3R5.png) проверим наличие товара на складе где-нибудь в burp мы увидим следующую строку stockApi ![](https://i.imgur.com/wxyegCN.png) давайте попробуем изменить запрос в этом месте ![](https://i.imgur.com/oWwtFqJ.png) а теперь отправим и получим ответ от сервера ![](https://i.imgur.com/jpx6rj6.png) мы можем наблюдать панель администрирования через код элемента найдем ссылки на удаление пользователя ![](https://i.imgur.com/ATPYZRz.png) генерируем еще один запрос повторно зарпосив количество товара и снова изменяем последнюю строку но уже иначе ![](https://i.imgur.com/folAuNN.png) форвардим запрос и получаем поздравление о завершении лабораторной ![](https://i.imgur.com/p5AOIPE.png) - 12 откроем burp и уязвимый сайт ![](https://i.imgur.com/IRySH20.png) выберем любой продукт, включим перехват трафика и создадим запрос количество товара ![](https://i.imgur.com/ioqw2gb.png) изменим запрос таким образом и попробуем его форварднуть ![](https://i.imgur.com/tUZfWp5.png) ничего не приходит ![](https://i.imgur.com/caLTHX2.png) нажмем в нижнем правом углу next product и перехватим запрос ![](https://i.imgur.com/9j4arS5.png) форвадним его и получим следущий продукт на экране ![](https://i.imgur.com/4HgAkUp.png) запросим количество этого продукта ![](https://i.imgur.com/gIDxGXG.png) изменим запрос следущим образом ![](https://i.imgur.com/9O6U4Mi.png) мы видим панель администрирования ![](https://i.imgur.com/1y6mftA.png) запромним путь ![](https://i.imgur.com/nYzSiOo.png) запросим опять количество продукта ![](https://i.imgur.com/9leuK20.png) изменим запрос следующим образом ![](https://i.imgur.com/hDjVlAD.png) видим подтверждение того что пользользователь удален ![](https://i.imgur.com/X1DGlxi.png) поздравдение с выполнением лабы ![](https://i.imgur.com/NWdIv7g.png) **RCE:** - 13 для начала откроем burp и уязвимый сайт, включим прослушивание трафика и выберем любой продукт ![](https://i.imgur.com/FD3Qxcy.png) отправим запрос на количество продукта ![](https://i.imgur.com/CP3PdMG.png) поменяем запрос следующим образом чтобы выполнить команду whoami ![](https://i.imgur.com/W8SMjY2.png) в ответ нам вместо количества сервер отправил юзера который сейчас используется ![](https://i.imgur.com/EbqTrWR.png) и подтверждение сделанной лабе ![](https://i.imgur.com/nlEZ5WU.png) **Path traversal:** - 14 откроем burp и уязвимый сайт ![](https://i.imgur.com/6AlCGw1.png) включим перехват и попробуем открыть какой-нибудь продукт ![](https://i.imgur.com/JvqG6Rz.png) несколько раз форвардним запрос пока не увидим запрос GET на получение картинки изменим этот запрос запросив файл который нам нужен ![](https://i.imgur.com/sHYvfc8.png) в это случае мы использовали ../../../etc/passwd чтобы вернуться в корневой каталог и попасть по пути /etc/passwd потому что когда мы пишим ../ то нас возврящает на одну директорию по файловому древу вверх теперь перейдем во вкладку http history и найдем наш запрос ![](https://i.imgur.com/F4Pv6TO.png) как видно мы в ответе получаем содержимое /etc/passwd и так же получаем сообщение о выполненой лабе - 15 как всегда сначала открываем уязвимый сайт и burp ![](https://i.imgur.com/KoIE35M.png) включим перехват и откроем какой-нибудь продукт ![](https://i.imgur.com/KzMTTtl.png) отправляем запросы пока не появится запрос на получение картинки ![](https://i.imgur.com/as6dFVb.png) на этот раз получим данные с помщью обсалютного пути ![](https://i.imgur.com/KIAsgQG.png) отправляем пока не закончатся все запросы и тут же видим сообщение о выполнении лабы ![](https://i.imgur.com/SLzvVTg.png) переходим в http history и находим наш запрос на картинку и в ответе видим /etc/passwd ![](https://i.imgur.com/g8LcvMi.png)