<h1>WEB basic. Основные атаки и паттерны </h1>
**SQL-injection уязвимости:**
- [https://portswigger.net/web-security/sql-injection/lab-login-bypass](https://portswigger.net/web-security/sql-injection/lab-login-bypass)
Вводим в поле администратор данный логин и получаем доступ к УЗ админа


- [https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data](https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data)
Изменим поле category на '+OR+1=1--

Результат

- [https://portswigger.net/web-security/sql-injection/union-attacks/lab-retrieve-data-from-other-tables](https://portswigger.net/web-security/sql-injection/union-attacks/lab-retrieve-data-from-other-tables)
Добавим в URL '+UNION+SELECT+username,+password+FROM+users--
и получим 'доступ' к данным пользователей

Зайдем в УЗ админа


- [https://portswigger.net/web-security/sql-injection/examining-the-database/lab-querying-database-version-mysql-microsoft](https://portswigger.net/web-security/sql-injection/examining-the-database/lab-querying-database-version-mysql-microsoft)
Изменим поле Gifts на '+UNION+SELECT+@@version,+NULL#

В результате видим что sql инъекция прошла успешно
**XSS уязвимости:**
- [https://portswigger.net/web-security/cross-site-scripting/stored/lab-html-context-nothing-encoded](https://portswigger.net/web-security/cross-site-scripting/stored/lab-html-context-nothing-encoded)
В поле комментария вводим скрипт на выполнение алерта

Результат

- [https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink)
Открываем исходный код и видим что поле для ввода является уязвимым
'дописываем'

Результат

- [https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded](https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded)
Находим ввод переменных с уязвимостью и вводим в строку поиска '-alert(1)-'

Результат

- [https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-dom-xss-reflected](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-dom-xss-reflected)
Запустим поиск


Меняем ответ для вызова функции и видим выполнение алерта

**CSRF:**
- [https://portswigger.net/web-security/csrf/lab-no-defenses](https://portswigger.net/web-security/csrf/lab-no-defenses)
Логинимся

добавляем ответ в repeater и с него забираем url

Заполняем exploit и нажимаем deliver exploit to victim

Меняем email

- [https://portswigger.net/web-security/csrf/lab-token-validation-depends-on-request-method](https://portswigger.net/web-security/csrf/lab-token-validation-depends-on-request-method)
Логинимся

Отправляем ответ в repeater и достаем с него url

перейдем в change request method

Зайдем в редактирование эксплойта и нажимаем deliver exploit to victim

Видим измененный email

**SSRF:**
- [https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost](https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost)
Меняем поле check-stock зпускаемперехват и меняем поле stockApi

отправляем запрос и видим пользователей

опять запускаем перехват и добавляем команду для удаления пользователя

отправляем запрос и видим что пользователь удален

- [https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection](https://portswigger.net/web-security/ssrf/lab-ssrf-filter-bypass-via-open-redirection)
Поковыряем check stock

Поковыряем next-product и найдем там path

изменим значение на переход в УЗ админа и отправим запрос

увидим пользователей

Добавим команду удаления пользователей

видим удаление пользователя

**RCE:**
- [https://portswigger.net/web-security/os-command-injection/lab-simple](https://portswigger.net/web-security/os-command-injection/lab-simple)
Запустим перехват запроса и увидим параметр storeID

Изменим его значение на 1|whoami

Результатом вывода будет пользователь под которым мы залогинены

**Path traversal:**
- [https://portswigger.net/web-security/file-path-traversal/lab-simple](https://portswigger.net/web-security/file-path-traversal/lab-simple)
Перейдем с главной страницы на страницу с картинкой с включенным перехватом запроса и увидим обращение к картинке

Изменим значение filename на путь к файлу ../../../etc/passwd

И увидим в GET запросе содерджимое файла passwd

- [https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass](https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass)
Перейдем с главной страницы на страницу с картинкой с включенным перехватом запроса

изменим значение filename на абсолютный путь к файлу /etc/passwd

В GET запросе увидим содержимое файла passwd

Dashboard
