###### tags: `WEB`
# Отчет по заданиям к практической работе №3. Основные атаки и паттерны :
|Итоговая статистика проведенных атак.|
|-|
||
|SQL:|
||
||
||
||
|XSS:|
||
||
||
||
|CSRF:|
||
||
|SSRF:|
||
||
|RCE:|
||
|Path traversal:|
||
||
|1. SQL-injection уязвимости:|
|-|
|[SQL injection vulnerability allowing login bypass](https://portswigger.net/web-security/sql-injection/lab-login-bypass)|
|-|
|<b>Решение.|
|Изменим параметр username, присвоив ему значение: `administrator'--`|
||
|<b>Лабораторная работа зачтена.|
||
|[SQL injection vulnerability in WHERE clause allowing retrieval of hidden data](https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data)|
|-|
|<b>Решение.|
|Изменим параметр `category` в URL, присвоив ему значение `'+OR+1=1--`|
||
||
||
|<b>Лабораторная работа зачтена.|
||
|[SQL injection UNION attack, retrieving data from other tables](https://portswigger.net/web-security/sql-injection/union-attacks/lab-retrieve-data-from-other-tables)|
|-|
|<b>Решение.|
|Вновь проэксплуатируем уязвимость через URL|
||
|Получаем список паролей и логинов. С помощью данных и войдем за администратора.|
||
||
|<b>Лабораторная работа зачтена.|
||
|[SQL injection attack, querying the database type and version on MySQL and Microsoft](https://portswigger.net/web-security/sql-injection/examining-the-database/lab-querying-database-version-mysql-microsoft)|
|-|
|<b>Решение.|
|Заходим в Burp и отправляем пакет через него.|
||
||
|<b>Лабораторная работа зачтена.|
||
|2. XSS уязвимости:|
|-|
|Уже проходил эти лабоработорные работы, когда делал ресерч-проект по XSS|
|[Stored XSS into HTML context with nothing encoded](https://portswigger.net/web-security/cross-site-scripting/stored/lab-html-context-nothing-encoded)|
|-|
|<b>Решение.|
||
||
|<b>Лабораторная работа зачтена.|
||
|[DOM XSS in document.write sink using source location.search](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink)|
|-|
|<b>Решение.|
||
|<b>Лабораторная работа зачтена.|
||
|[Reflected XSS into a JavaScript string with angle brackets HTML encoded](https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded)|
|-|
|<b>Решение.|
||
|<b>Лабораторная работа зачтена.|
||
|[Reflected DOM XSS](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-dom-xss-reflected)|
|-|
|<b>Решение.|
||
|<b>Лабораторная работа зачтена.|
||
|3. CSRF:|
|-|
|[CSRF vulnerability with no defenses](https://portswigger.net/web-security/csrf/lab-no-defenses)|
|-|
|<b>Решение.|
|Заходим в аккаунт с данными wiener:peter|
||
|Меняем email, при этом включаем Burp для перехвата трафика.|
||
|Ловим нужный пакет.|
||
|Заходим в специальный скрипт, и генерируем html-exploit|
||
|Вставляем в expliot-server и жмем store|
||
||
|<b>Лабораторная работа зачтена.|
||
|[CSRF where token validation depends on request method
](https://portswigger.net/web-security/csrf/lab-token-validation-depends-on-request-method)|
|-|
|<b>Решение.|
|Заходим в аккаунт с данными wiener:peter|
||
|Меняем email, при этом включаем Burp для перехвата трафика.|
||
|Ловим нужный пакет.|
||
|Меняем request-method|
||
|Заходим в специальный скрипт, и генерируем html-exploit|
||
|Вставляем в expliot-server и жмем store|
||
||
|<b>Лабораторная работа зачтена.|
||
|4. SSRF:|
|-|
|[Basic SSRF against the local server](https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost)|
|-|
|<b>Решение.|
|Заходим в любую статью и находим внизу поле для смены города.|
||
|Меняем на любой и ловим API в Burp.|
||
|Меняем api на требуемый для решения задачи.|
||
|<b>Лабораторная работа зачтена.|
||
|[SSRF with filter bypass via open redirection vulnerability](https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection)|
|-|
|<b>Решение.|
|Зайдем в любой продукт, нажмем "Проверить наличие", перехватим запрос в `Burp Suite` и отправим его в `Repeater`.|
|Попробуем изменить параметр `stockApi` и обратите внимание, что невозможно заставить сервер отправлять запрос непосредственно на другой хост.|
|Нажмем "следующий продукт" и обратим внимание, что параметр `path` помещается в заголовок `Location` ответа на перенаправление.|
|Создадим URL-адрес, который использует уязвимость `SSRF` и перенаправляет на интерфейс администратора, и введем его в параметр `stockApi`.|
||
||
||
|<b>Лабораторная работа зачтена.|
||
|5. RCE:|
|-|
|[OS command injection, simple case](https://portswigger.net/web-security/os-command-injection/lab-simple)|
|-|
|<b>Решение.|
|Используем `Burp` для перехвата и изменения запроса, который проверяет уровень запасов.|
|Изменим параметр `StoreID`, присвоив ему значение 1\whoami.|
|Ответ содержит имя текущего пользователя.|
||
||
|<b>Лабораторная работа зачтена.|
||
|6. Path traversal:|
|-|
|[File path traversal, simple case](https://portswigger.net/web-security/file-path-traversal/lab-simple)|
|-|
|<b>Решение.|
|Используем `Burp` для перехвата и изменения запроса, который извлекает изображение продукта.|
|Изменим параметр filename, присвоив ему значение: `../../../etc/passwd`|
|Ответ содержит содержимое файла `/etc/passwd`.|
||
||
||
|<b>Лабораторная работа зачтена.|
||
|[File path traversal, traversal sequences blocked with absolute path bypass](https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass)|
|-|
|<b>Решение.|
|Используем `Burp` для перехвата и изменения запроса, который извлекает изображение продукта.|
|Изменим параметр filename, присвоив ему значение: `/etc/passwd`|
|Ответ содержит содержимое файла `/etc/passwd`.|
||
||
|<b>Лабораторная работа зачтена.|
||