# Web Basik №3
**Web Basic - Гежа Николай - Практика №3**
Статистика:









1. SQL-injection уязвимости:
*Lab: SQL injection vulnerability allowing login bypass:*

Перед отправкой формы включаем intercept, к имери добавляем '--':



*Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data:*

Включаем intercept и меняем у любой категории параметр category на '+OR+1=1--:

Отправляем и видим скрытые объекты:


*Lab: SQL injection UNION attack, retrieving data from other tables:*
Переходим в лабораторную:

Включаем intercept и переходим в категорию:

К категории добавляем '+UNION+SELECT+‘abc’,‘def’--:

Видим что столбца минимум два:

Меняем форму чтобы сайт возвращал имена и пароли пользователей:


Проверим:



*Lab: SQL injection attack, querying the database type and version on MySQL and Microsoft:*
Включаем intercept и переходим в категорию:

Узнаем сколько столбцов:


Узнаем версию базы данных:



2) XSS уязвимости:
*Lab: Stored XSS into HTML context with nothing encoded:*
Оставляем коммент:

Скрипт сработал:


*Lab: DOM XSS in document.write sink using source location.search:*
Делаем поиск:

Запрос записался в script src:

Снова делаем поиск со вставкой alert-box:

Скрипт отработал:



*Lab: Reflected XSS into a JavaScript string with angle brackets HTML encoded:*
Пишем запрос:

Включаем intercept и результат отправляем в repeater:

Отсылаем и видим результат в ответах:

Пишем в поиске -alert(1)- в кавычках:

Скрипт отработал:


*Lab: Reflected DOM XSS:*
Делаем запрос:

Видим запрос в истории:

Откроем searchResult.js и видим использование eval() в ответе:

Введём alert:



3) CSRF:
*Lab: CSRF vulnerability with no defenses:*
Переходим в лабораторную:

Входим в предложенный аккаунт:

Меняем почту:

Перейдём в http-history и найдём смену email. Скопируем url:

Переходим в go to exploit server и вставим скрипт:

Скрипт сработал:


*Lab: CSRF where token validation depends on request method:*
Входим в аккаунт:

Копируем URL в http-history:

Отправляем запрос в Repeater:


Меняем POST на GET:

Вставляем скрипт:

Скрипт сработал:


4) SSRF:
*Lab: Basic SSRF against the local server:*
Перед нажатием на кнопку включим Intercept, видим stockApi:

Меняем для отображения интерфейса администратора:

Отправляем форму:

Удалим пользователя carlos:



*Lab: SSRF with filter bypass via open redirection vulnerability:*

Меняем stockApi на http://192.168.0.12:8080/admin:

Получаем ошибку:

Нажмём переход к другому товару и зааметим атрибут path:

Переходим на другую страницу:

Меняем stockApi:


Меняем stockApi:



5) RCE:
*Lab: OS command injection, simple case:*
Включаем intercept, замечаем storeID:

Заменяем параметр storeID так, чтобы получить имя текущего пользователя, отправляем запрос:



6) Path traversal:
*Lab: File path traversal, simple case:*

Откроем картинку в новой вкладке и зметим filename:

Заменим и отправим:

Перейдём в http-history:

На сайте теперь пустое изображение.

*Lab: File path traversal, traversal sequences blocked with absolute path bypass:*
Откроем картинку в новой вкладке:

Меянем filename:

Зайдём в http-history:

На сайте пустое изображение:

