# Web-Basic-3(Основные атаки и паттерны) ## Статистика выполненных работ. ![](https://i.imgur.com/E42itHg.png) ![](https://i.imgur.com/FgPqe7E.png) ![](https://i.imgur.com/HQihJ7H.png) ![](https://i.imgur.com/NsrXnJ9.png) ![](https://i.imgur.com/SFHLgUO.png) ![](https://i.imgur.com/PmoWp0t.png) ![](https://i.imgur.com/hPcjUMc.png) ## SQL-injection уязвимости. ### Lab: SQL injection vulnerability allowing login bypass. 1. Перед отправкой формы включаем **intercept**, к имени добавляем `–`. ![](https://i.imgur.com/UAX0Fqo.png) ![](https://i.imgur.com/IsUQLfV.png) ![](https://i.imgur.com/dnQVcAY.png) ### Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data. 1. Включаем **intercept** и меняем у любой категории параметр `category` на `'+OR+1=1--`. ![](https://i.imgur.com/SkiB9uE.png) 2. Отправляем и видим скрытые объекты. ![](https://i.imgur.com/7Ody2CG.png) ![](https://i.imgur.com/LstX7FO.png) ### Lab: SQL injection UNION attack, retrieving data from other tables. 1. Включаем **intercept** и переходим в категорию. ![](https://i.imgur.com/nI7LlIf.png) 2. К категории добавляем `'+UNION+SELECT+username,+password+FROM+users--` ![](https://i.imgur.com/EzSrmHy.png) 3. Видим что столбца минимум два. ![](https://i.imgur.com/EWCdJhU.png) 4. Меняем форму чтобы сайт возвращал имена и пароли пользователей. ![](https://i.imgur.com/7maMlik.png) ![](https://i.imgur.com/MVn5REd.png) 5. Проверим. ![](https://i.imgur.com/dxcFKaW.png) ![](https://i.imgur.com/MedWrLI.png) ![](https://i.imgur.com/CEcUwcs.png) ### Lab: SQL injection attack, querying the database type and version on MySQL and Microsoft. 1. Включаем **intercept** и переходим в категорию. ![](https://i.imgur.com/qqubCMh.png) 2. Узнаем сколько столбцов. ![](https://i.imgur.com/WUEibJR.png) ![](https://i.imgur.com/1vCiEwb.png) 3. Узнаем версию базы данных. ![](https://i.imgur.com/hSxJQpV.png) ![](https://i.imgur.com/fPFtYkN.png) ![](https://i.imgur.com/JRK3paY.png) ## XSS уязвимости. ### Lab: Stored XSS into HTML context with nothing encoded. 1. Оставляем комментарий. ![](https://i.imgur.com/GwDF0Z2.png) 2. Скрипт сработал. ![](https://i.imgur.com/75cWrgP.png) ![](https://i.imgur.com/R1SJopv.png) ### Lab: DOM XSS in document.write sink using source location.search. 1. Делаем поиск. ![](https://i.imgur.com/jFnoA9Q.png) 2. Запрос записался в script src. ![](https://i.imgur.com/jFnoA9Q.png) 3. Снова делаем поиск со вставкой alert-box и видим что скрипт отработал ![](https://i.imgur.com/4uU4MoM.png) ![](https://i.imgur.com/G1HUnGF.png) ### Lab: Reflected XSS into a JavaScript string with angle brackets HTML encoded. 1. Пишем запрос. ![](https://i.imgur.com/eCJRLuI.png) 2. Включаем **intercept** и результат отправляем в **repeater**. ![](https://i.imgur.com/CtNQWuE.png) 3. Отсылаем и видим результат в ответах, пишем в поиске `'-alert(1)-'`. ![](https://i.imgur.com/hOFpuMp.png) 4. Скрипт отработал.![](https://i.imgur.com/lbt3j1z.png) ### Lab: Reflected DOM XSS. 1. Делаем запрос и видим его в истории. ![](https://i.imgur.com/LlnTbZE.png) 2. Откроем *searchResult.js* и видим использование *eval()* в ответе. ![](https://i.imgur.com/WR3Cqeh.png) 3. Введём `\"-alert(1)}//` ![](https://i.imgur.com/rAEcwvG.png) ![](https://i.imgur.com/Vjq5UFt.png) ## CSRF. ### Lab: CSRF vulnerability with no defenses. 1. Входим в предложенный аккаунт. ![](https://i.imgur.com/g1X9BOE.png) 2. Перейдём в `http-history` и найдём смену **email**. Скопируем **url**. ![](https://i.imgur.com/e4lM1un.png) 3. Переходим в `go to exploit server` и вставим скрипт. ![](https://i.imgur.com/KiBP7lp.png) ![](https://i.imgur.com/HqfNK5D.png) ### Lab: CSRF where token validation depends on request method. 1. Входим в аккаунт. ![](https://i.imgur.com/gsWuqDf.png) 2. Перехватываем почту. ![](https://i.imgur.com/K929GwV.png) 4. Меняем **POST** на **GET**. ![](https://i.imgur.com/qmjVOrh.png) 5. Вставляем скрипт. ![](https://i.imgur.com/L9jDjZl.png) ![](https://i.imgur.com/Qv26Du7.png) ## SSRF. ### Lab: Basic SSRF against the local server. 1. Перед нажатием на кнопку включим **intercept**, видим **stockApi**. ![](https://i.imgur.com/SvQgsJ2.png) 2. Меняем для отображения интерфейса администратора. ![](https://i.imgur.com/ffA1gNG.png) 3. Отправляем форму. ![](https://i.imgur.com/RoCjaNj.png) 4. Удалим пользователя **carlos**. ![](https://i.imgur.com/ieZYDG9.png) ![](https://i.imgur.com/t9aks53.png) ### Lab: SSRF with filter bypass via open redirection vulnerability. 1. Меняем **stockApi** на `http://192.168.0.12:8080/admin`. ![](https://i.imgur.com/h5OUdXa.png) 2. Получаем ошибку. ![](https://i.imgur.com/ZsauhhH.png) 4. Переходим на другую страницу. ![](https://i.imgur.com/fiEG7ej.png) 5. Меняем **stockApi**. ![](https://i.imgur.com/RBunlz0.png) 6. Меняем **stockApi**. ![](https://i.imgur.com/XiCEDmR.png) ![](https://i.imgur.com/XedF6OY.png) ## RCE. ### Lab: OS command injection, simple case. 1. Включаем **intercept**, замечаем **storeID**. ![](https://i.imgur.com/eEDrBAA.png) 2. Заменяем параметр **storeID** так, чтобы получить имя текущего пользователя, отправляем запрос. ![](https://i.imgur.com/0GimhOf.png) ![](https://i.imgur.com/ElvUKBf.png) ![](https://i.imgur.com/Trk0mUJ.png) ## Path traversal. ### Lab: File path traversal, simple case. 1. Откроем картинку в новой вкладке и зметим `filename`. ![](https://i.imgur.com/W87GgCg.png) 2. Заменим и отправим. ![](https://i.imgur.com/GY9j4Um.png) 3. Перейдём в `http-history`. ![](https://i.imgur.com/uwF4tBl.png) 4. На сайте теперь пустое изображение. ![](https://i.imgur.com/5pwl9Mx.png) ### Lab: File path traversal, traversal sequences blocked with absolute path bypass. 1. Откроем картинку в новой вкладке. ![](https://i.imgur.com/LxtBo0t.png) 2. Меянем **filename** ![](https://i.imgur.com/J5Xu5lF.png) 3. Зайдём в `http-history` ![](https://i.imgur.com/9xwLvnU.png) 4. На сайте пустое изображение. ![](https://i.imgur.com/v0dHEaW.png) ![](https://i.imgur.com/usddvFR.png)