## Практическое задание 3 Итоговая статистика пройденных атак, рисунок 1.1 ниже. ![](https://i.imgur.com/B8uR2xW.png) Рисунок 1.1 На стенде по адресу [https://portswigger.net/web-security](https://portswigger.net/web-security) разобрать следующие задания: **SQL-injection уязвимости:** - [https://portswigger.net/web-security/sql-injection/lab-login-bypass](https://portswigger.net/web-security/sql-injection/lab-login-bypass) Чтобы обойти вход в систему, изменили username параметр, присвоив ему значение:administrator'--, рисунок 1 ниже. Так же результат выполненой работы на рисунке 2. ![](https://i.imgur.com/3J4URxf.png) Рисунок 1 ![](https://i.imgur.com/dixt0Vy.png) Рисунок 2 - [https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data](https://portswigger.net/web-security/sql-injection/lab-retrieve-hidden-data) Чтобы извлечь скрытые данные, выполнили атаку с внедрением SQL-кода, которая заставит приложение отображать сведения обо всех продуктах в любой категории, как выпущенных, так и не выпущенных. Изменили category параметр, присвоив ему значение'+OR+1=1--, рисунок 3 ниже. Результат работы показан на рисунке 4. ![](https://i.imgur.com/oID3uOB.png) Рисунок 3 ![](https://i.imgur.com/dUhMcVC.png) Рисунок 4 - [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) Чтобы извлечь данных из других таблиц, выполнили атаку UNION с внедрением SQL, которая извлекает все имена пользователей и пароли и использует эту информацию для входа в систему как administrator пользователь. Убедились, что запрос возвращает два столбца, каждый из которых содержит текст, используя полезные данные '+UNION+SELECT+'abc','def'--, рисунок 5 ниже. ![](https://i.imgur.com/O55TeGE.png) Рисунок 5 Далее использовали следующую полезную нагрузку для получения содержимого users таблицы: '+UNION+SELECT+username,+password+FROM+users--, рисунок 6 ниже. ![](https://i.imgur.com/2f3Bmg2.png) Рисунок 6 Зашли под пользователем administrator, результат выполненой работы показан на рисунке 7. ![](https://i.imgur.com/rmaosBU.png) Рисунок 7 - [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) Использовали атаку UNION для получения результатов введенного запроса. Определили количество столбцов, возвращаемых запросом, и столбцы, содержащие текстовые данные. Запрос возвращает два столбца, каждый из которых содержит текст, используя полезные данные, подобные приведенным ниже, в category параметре: '+UNION+SELECT+'abc','def'#, рисунок 8 ниже. ![](https://i.imgur.com/KcnCQNJ.png) Рисунок 8 Использовали следующую полезную нагрузку для отображения версии базы данных: '+UNION+SELECT+@@version,+NULL#, результат выполненой работы показан на рисунке 9. ![](https://i.imgur.com/4dUuy0w.png) Рисунок 9 **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) Отправили комментарий, который вызывает alert функцию при просмотре сообщения в блоге, рисунок 10 ниже. ![](https://i.imgur.com/PbWc0MT.png) Рисунок 10 Результат выполненой работы показан на рисунке 11. ![](https://i.imgur.com/y4coOAe.png) Рисунок 11 - [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) Содержит уязвимость межсайтового скриптинга на основе модели DOM в функции отслеживания поисковых запросов. Он использует функцию JavaScript document.write, которая записывает данные на страницу. Функция document.write вызывается с данными из location.search, которыми мы можем управлять с помощью URL-адреса веб-сайта. Выполнили атаку межсайтового скриптинга, которая вызывает alert функцию.Введите случайную буквенно-цифровую строку в поле поиска, рисунок 12 ниже. ![](https://i.imgur.com/1zizXio.png) Рисунок 12 Выполнили поиск, рисунок 13 ниже. ![](https://i.imgur.com/RB1krZN.png) Рисунок 13 Увидели результат, рисунок 14 ниже. ![](https://i.imgur.com/G9ryV8g.png) Рисунок 14 Результат выполненой работы, рисунок 15 ниже. ![](https://i.imgur.com/NZaER2L.png) Рисунок 15 - [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) Выполнили атаку межсайтового скриптинга, которая вырывается из строки JavaScript и вызывает alert функцию. Отправили буквенно-цифровую строку в поле поиска, рисунок 16 ниже. ![](https://i.imgur.com/3Dinfki.png) Рисунок 16 Использовали Burp Suite, чтобы перехватить поисковый запрос и отправить его в Burp Repeater, рисунок 17 и 18 ниже. ![](https://i.imgur.com/JNWX2kh.png) Рисунок 17 ![](https://i.imgur.com/MOmPyTC.png) Рисунок 18 Увидели наш запрос, рисунок 19 ниже. ![](https://i.imgur.com/6tYeug1.png) Рисунок 19 Внедрили '-alert(1)-' и увидели результат, рисунок 20 ниже. ![](https://i.imgur.com/hQMgHxM.png) Рисунок 20 Увидели результат выполненой работы, рисунок 21 ниже. ![](https://i.imgur.com/Icdpctz.png) Рисунок 21 - [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) Нужно Создать внедрение, которое вызывает alert() функцию. Ввели в поисковую строку XSS, рисунок 22 ниже. ![](https://i.imgur.com/b2HOf2f.png) Рисунок 22 Переслали запрос, рисунок 23 ниже. ![](https://i.imgur.com/AUTfsME.png) Рисунок 23 Ответ JSON используется с eval() вызовом функции, риуснок 24 ниже. ![](https://i.imgur.com/tHRxm7b.png) Рисунок 24 Ввели поисковый запрос, рисунок 25 ниже. ![](https://i.imgur.com/LRa9PXi.png) Рисунок 25 Увидели результат, рисунок 26 ниже. ![](https://i.imgur.com/gnynURt.png) Рисунок 26 Результат выполненой работы, рисунок 27 ниже. ![](https://i.imgur.com/wZMa43l.png) Рисунок 27 **CSRF:** - [https://portswigger.net/web-security/csrf/lab-no-defenses](https://portswigger.net/web-security/csrf/lab-no-defenses) Уязвимость CSRF без защиты. Создали некоторый HTML-код, который использует атаку CSRF для изменения адреса электронной почты зрителя и загрузили его на свой сервер эксплойтов. Зашли под учетной записи wiener, рисунок 28 и 29 ниже. ![](https://i.imgur.com/InTpWEw.png) Рисунок 28 ![](https://i.imgur.com/DdqDzbt.png) Рисунок 29 Обновили адрес электронной почты, рисунок 30 ниже. ![](https://i.imgur.com/1bh9P6D.png) Рисунок 30 Увидели запрос в прокси, рисунок 31 ниже. ![](https://i.imgur.com/HvO0vL2.png) Рисунок 31 Использовали HTML-шаблон, указали нужные данные. Так же перешли на сервер эксплойтов и использовали свой HTML-шаблон. Результат выполненой работы на рисунке 32 ниже. ![](https://i.imgur.com/m65fIpH.png) Рисунок 32 - [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) Использовали свой сервер эксплойтов для размещения HTML-страницы, которая использует атаку CSRF для изменения адреса электронной почты зрителя. Ввели учетные данные wiener, рисунок 33 ниже. ![](https://i.imgur.com/mLlveV1.png) Рисунок 33 Обновили адрес, рисунок 34 ниже. ![](https://i.imgur.com/2HZ4GTX.png) Рисунок 34 Увидели полученный запрос в прокси, рисунок 35 ниже. ![](https://i.imgur.com/mAIr4L5.png) Рисунок 35 Перевели в GET запрос, рисунок 36 ниже. ![](https://i.imgur.com/uKUrMp6.png) Рисунок 36 Использовали HTML-шаблон, указали нужные данные. Так же перешли на сервер эксплойтов и использовали свой HTML-шаблон. Результат выполненой работы на рисунке 37 ниже. ![](https://i.imgur.com/iA6TcaD.png) Рисунок 37 **SSRF:** - [https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost](https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost) Изменили URL-адрес проверки акций, чтобы получить доступ к интерфейсу администратора, http://localhost/admin и удалили пользователя carlos. Нажали на check stock, рисунок 38 ниже. ![](https://i.imgur.com/YaiYJMM.png) Рисунок 38 Увидели запрос в прокси, рисунок 39 ниже. ![](https://i.imgur.com/S7EoeCx.png) Рисунок 39 Подменили stockApi на http://localhost/admin, рисунок 40 ниже. ![](https://i.imgur.com/c4kT6kl.png) Рисунок 40 Увидели интерфейс администрирования, рисунок 41 ниже. ![](https://i.imgur.com/UqMVsk5.png) Рисунок 41 Удалили пользователя Carlos, рисунок 42 ниже. ![](https://i.imgur.com/DZc7tBy.png) Рисунок 42 Результат выполненой работы на рисунке 43. ![](https://i.imgur.com/kgqOqpw.png) Рисунок 43 - [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) Изменили URL-адрес проверки акций, чтобы получить доступ к интерфейсу администратора, http://192.168.0.12:8080/adminи удалили пользователя carlos. Нажали на Check stock, рисунок 44 ниже. ![](https://i.imgur.com/eFeF6m2.png) Рисунок 44 Перехватили запрос в прокси, рисунок 45 ниже. ![](https://i.imgur.com/xSvmzzW.png) Рисунок 45 Изменили stockApi и обратили внимание, что невозможно заставить сервер отправить запрос напрямую другому хосту, рисунок 46 ниже. ![](https://i.imgur.com/xYHoK1d.png) Рисунок 46 Результат увидели на рисунке 47. ![](https://i.imgur.com/WlwDvAX.png) Рисунок 47 Создали URL-адрес, который использует открытую уязвимость перенаправления и перенаправляет на интерфейс администратора, и ввели его в stockApi параметр проверки запасов, рисунок 48 ниже. ![](https://i.imgur.com/6zd7Pyr.png) Рисунок 48 Увидели страницу администратора, рисунок 49 ниже. ![](https://i.imgur.com/3VxQBcb.png) Рисунок 49 Удалили пользователя carlos, рисунок 50 ниже. ![](https://i.imgur.com/YfV2Pqn.png) Рисунок 50 Результат выполненой работы на рисунке 51. ![](https://i.imgur.com/B1h8qLI.png) Рисунок 51 **RCE:** - [https://portswigger.net/web-security/os-command-injection/lab-simple](https://portswigger.net/web-security/os-command-injection/lab-simple) Выполнили whoami команду для определения имени текущего пользователя. Перехватили запрос через прокси и выполнили команду whoami, рисунок 52 и 53 ниже. ![](https://i.imgur.com/mYeqOf3.png) Рисунок 52 ![](https://i.imgur.com/7hksFzB.png) Рисунок 53 Результат выполненой работы показан на рисунке 54 и 55. ![](https://i.imgur.com/NgfblDa.png) Рисунок 54 ![](https://i.imgur.com/Ska5O94.png) Рисунок 55 **Path traversal:** - [https://portswigger.net/web-security/file-path-traversal/lab-simple](https://portswigger.net/web-security/file-path-traversal/lab-simple) Изменили filename параметр, рисунок 56 ниже. ![](https://i.imgur.com/MVVJYrL.png) Рисунок 56 Извлекли содержимое /etc/passwd файла, рисунок 57 ниже. ![](https://i.imgur.com/AhaMTkD.png) Рисунок 57 Результат выполненой работы на рисунке 58. ![](https://i.imgur.com/dS0z8wD.png) Рисунок 58 - [https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass](https://portswigger.net/web-security/file-path-traversal/lab-absolute-path-bypass) Использовали Burp Suite для перехвата и изменения запроса на получение изображения продукта. Изменили filename параметр, присвоив ему значение /etc/passwd. рисунок 59 ниже. ![](https://i.imgur.com/gVMtrhG.png) Рисунок 59 Извлекли содержимое /etc/passwd файла, рисунок 60 ниже. ![](https://i.imgur.com/LyJHYbb.png) Рисунок 60 Результат выполненой работы на рисунке 61 ![](https://i.imgur.com/NzNcQVr.png) Рисунок 61