Web - это одна из категорий тасков CTF, включающая в себя анализ получаемых и передаваемых вэб приложению данных, поиск, эксплуатирование уязвимостей и защита от них различных вэб приложений,разнообразный взлом, вэб подмену информации, использование ошибок проектирования в настройке сервера. Например, внедрение SQL-инъекций, XSS-инъекций, PHP-инъекций, проведение "Man-in-the-middle", "Meet-in-the-middle_attack", "Man_in_the_Browser" атак и многого другого. Довольно обширная категория, которая включает в себя разнообразный взлом, подмену информации, использование дырок в настройке сервера - и всё это через сетевое подключение. Дополнительная информация http://hiderefer.me/?https://web.archive.org/web/20170213053224/https://ru.wikipedia.org/wiki/XSS http://hiderefer.me/?https://web.archive.org/web/20170213053224/https://xakep.ru/2013/06/13/60778/ http://hiderefer.me/?https://web.ar...o-kotorykh-dolzhen-znat-kazhdyj-razrabotchik/ http://hiderefer.me/?https://web.ar...4/https://rdot.org/forum/showthread.php?t=124 Инструменты http://hiderefer.me/?https://web.archive.org/web/20170213053224/http://find-xss.net/ http://hiderefer.me/?https://web.ar...3224/http://forum.antichat.ru/threads/240692/ http://hiderefer.me/?https://web.ar...securitylab.ru/blog/personal/evteev/14031.php http://hiderefer.me/?https://web.ar....org/index.php/OWASP_Zed_Attack_Proxy_Project http://hiderefer.me/?https://web.ar.../sqlninja.sourceforge.net/sqlninja-howto.html http://hiderefer.me/?https://web.archive.org/web/20170213053224/https://code.google.com/p/bsqlbf-v2/ http://hiderefer.me/?https://web.archive.org/web/20170213053224/https://github.com/Neohapsis/bbqsql SQLMap (crossplatform) Havij (win) __________________________________________________________________ https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/burp/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/cookie/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/csrf/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/dev_tools/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/get_request/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/git/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/headers/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/lfi/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/owasp_db/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/rce/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/rfi/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/robots/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/svn/main.html https://web.archive.org/web/20170213053224/http://kmb.ufoctf.ru:80/web/xss/main.html Кликайте колесом мыши для открытия в отдельной вкладке, следует после перехода по ссылке не много подождать пока загрузится страница.
https://habrahabr.ru/users/LukaSafonov/ 17 августа в 13:37 https://habrahabr.ru/flows/develop/ Современные методы исследования безопасности веб-приложений https://habrahabr.ru/hub/infosecurity/, https://habrahabr.ru/company/pentestit/ https://habrastorage.org/getpro/habr/post_images/eaa/916/4b8/eaa9164b89bcd44d1a7ed76cebe49842.png В данной статье я расскажу о современных методах и подходах к тестированию безопасности веб-приложений. Начало исследования Для успешного тестирования веб-приложений необходимо применять систематизированный подход или методологию. Наиболее известные это OWASP и WASC. Они являются наиболее полными и формализованными методологиями на сегодняшний день. Далее необходимо определится с веб-приложением — для исследования можно взять последнюю версию одной из бесплатных CMS, и установить в нее уязвимый плагин (уязвимые версии можно скачать с сайта exploit-db.com). Методы тестирования Т.к. мы не являемся веб-разработчиками данного приложения, мы пропустим этап тестирования при создании архитектуры и разработки приложения (но стоит отметить что они важны — при разработке). Есть несколько принципов тестирования, которые мы можем применить: DAST – динамический (т.е. требующий выполнения) анализ приложения без доступа к исходному коду и серверной части, по сути BlackBox. SAST – статический (т.е. не требующий выполнения) анализ приложения с доступом к исходному коду веб-приложения и к веб-серверу, по сути это анализ исходного кода по формальным признакам наличия уязвимостей и аудит безопасности сервера. IAST – динамический анализ безопасности веб-приложения, с полным доступом к исходному коду, веб-серверу — по своей сути является WhiteBox тестированием. Анализ исходного кода – статический или динамический анализ с доступом к исходному коду без доступа к серверному окружению. Эти методы полностью подойдут для тренировки навыков выявления уязвимостей веб-приложения при наличии у вас доступа к веб-приложению, либо частиноч, если вы исследуете веб-приложение, к примеру, при участии в программе BugBounty. Основные этапы Для полноты тестирования необходимо стараться следовать нижеприведенным рекомендациям кастомизирую те или иные этапы в зависимости от веб-приложения. Разведка Сканирование портов. Сканирование поддоменов. Исследование видимого контента. Поиск скрытого контента (директорий, файлов) Определение платформы и веб-окружения. Определение форм ввода. Контроль доступа Проверка средств аутентификации и авторизации. Определение требований парольной политики. Тестирование подбора учетных данных. Тестирование восстановления учетной записи. Тестирование функций сохранения сессии. Тестирование функций идентификации учетной записи. Проверка полномочий и прав доступа. Исследования сессии (время жизни, сессионный токены, признаки, попытки одновременной работы и т.д.) Проверка CSRF. Фаззинг параметров Тестирование приложения к различному виду инъекций (SQL, SOAP, LDAP, XPATH и т.д.) Тестирование приложения к XSS-уязвимостям. Проверка HTTP заголовков. Проверка редиректов и переадресаций. Проверка выполнения команд ОС. Проверка локального и удаленного инклуда. Проверка к внедрению XML-сущностей. Проверка тимплейт-инъекций. Проверка взаимодествия веб-сокетов. Проверки логики работы веб-приложения Тестирование логики работы приложения на стороне клиента. Тестирования на т.н. «состояние гонки» — race condition. Тестирование канала передачи данных. Тестирование доступности информации исходя из прав доступа или его отсутствия. Проверка возможности дублирования или разделения данных. Проверка серверного окружения Проверка архитектуры сервера. Поиск и выявление публичных уязвимостей. Проверка серверных учетных записей (службы и сервисы). Определение настроек сервера или компонентов (SSL и т.д.). Проверка прав доступа. Итого Имея план тестирования приложения мы можем шаг за шагом исследовать все его компоненты на наличие тех или иных уязвимостей. Исходя из веб-приложения те или иные пункты могут быть дополнены специфичными для данного приложения проверками. В следующей статье я расскажу об инструментарии, подходящем для тестирования веб-приложения по данному чек-листу.
https://habrahabr.ru/users/LukaSafonov/ 22 августа в 13:37 https://habrahabr.ru/flows/develop/ Современные методы исследования безопасности веб-приложений: инструментарий https://habrahabr.ru/hub/infosecurity/, https://habrahabr.ru/company/pentestit/ https://habrastorage.org/getpro/habr/post_images/102/ce0/b7f/102ce0b7f3a65c44369f19db501a621b.jpg В данной статье я расскажу об инструментарии для тестирования безопасности веб-приложений. Основные этапы и чек-лист работ представлены в https://habrahabr.ru/company/pentestit/blog/335820/. Большинство утилит содержится в популярных дистрибутивах тестирования на проникновение: Kali Linux, BlackArch, BackBox Linux. Для тех, у кого нет возможности по тем или иным причинам использовать эти дистрибутивы, я публикую ссылки на github/страницы утилит. Основные этапы Для полноты тестирования необходимо стараться следовать нижеприведенным рекомендациям, кастомизируя те или иные этапы в зависимости от веб-приложения. Далее я опишу этапы и утилиты, которые подходят к каждому из них. Разведка Сканирование портов. На этом этапе поможет нестареющая классика — https://nmap.org/. Для тех, кто столкнулся с этой утилитой впервые, необходимо учесть, что по умолчанию nmap сканирует ~1000 портов (первые и популярные выше), а также не сканирует UDP — имейте это в виду. Сканирование поддоменов. На этом этапе пригодится работа с утилитой dig и понимание AXFR запросов. Также пригодится утилита https://github.com/TheRook/subbrute. Исследование видимого контента. Здесь, как не странно, вам пригодятся собственные глаза — для того чтобы визуально исследовать веб-приложение, понять его логику работы. Небольшой хинт: для того, чтобы сделать первоначальную проверку анонимной и не привлекать внимание, используйте кэш поисковых систем и системы типа google.tranlsate. Поиск скрытого контента (директорий, файлов, информации). На этом этапе пригодятся утилиты https://sourceforge.net/projects/dirb/, https://github.com/maurosoria/dirsearch, можно воспользоваться инструментами Foca (устарел) и maltego (необходима регистрация, есть платная версия). Определение платформы и веб-окружения. Здесь необходимо воспользоваться аддоном к браузеру wappalyzer или утилитой https://github.com/urbanadventurer/WhatWeb. Определение форм ввода. На этом этапе можно ограничится визуальным осмотром форм на страницах, выявленных в результате поиска скрытого контента. Отдельно я бы хотел упомянуть «комбайны» для сбора информации: https://github.com/laramies/theHarvester и https://bitbucket.org/LaNMaSteR53/recon-ng — с помощью этих инструментов можно получить довольно много информации — от выявления учетных записей и поддоменов до поиска критичной информации на сайте. Контроль доступа На данном этапе требуется как инструментальная, так и ручная проверка требований парольной политики. Для проверки необходимо провести атаку по словарю, например с помощью https://github.com/vanhauser-thc/thc-hydra или https://github.com/lanjelot/patator, используя заведомо известные учетные данные: таким образом можно выявить защиту от такого рода атак (или ее отсутствие). Определение требований парольной политики. Здесь ручная проверка логики требований политики. Использование только цифр (например как пин-кода) без защиты от брута — очень плохая идея. Тестирование восстановления учетной записи. На данном этапе приходится наличие нескольких ссылок или триггеров для сброса пароля (желательно от разных учетных записей). Здесь необходимо будет выявить и определить хеш (частое явление), например с помощью https://github.com/psypanda/hashID. Далее необходимо произвести сравнение тригеров сброса (например ссылок) с помощью утилит сравнения (например comparer в burp suite). Тестирование функций сохранения сессии. Тестирование функций идентификации учетной записи. Проверка полномочий и прав доступа. Исследования сессии (время жизни, сессионный токены, признаки, попытки одновременной работы и т.д.) Проверка CSRF. Для этих задач хорошо подойдет http://www.getmantra.com/download.html — есть версия как в виде firefox, так и chrome сборки. Фаззинг параметров Тестирование веб-приложения может быть выполнено как в инструментальном режиме (http://w3af.org/, https://github.com/subgraph/Vega/wiki/Vega-Scanner, http://www.arachni-scanner.com/, http://sqlmap.org/, Acunetix, Netsparker и.д.), так и полу-инструментальном — https://portswigger.net/burp, https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project и д.р. С помощью этих инструментов, как автоматическом, так и в ручном (наиболее точном) режиме можно выявлять следующие уязвимости: инъекции (SQL, SOAP, LDAP, XPATH и т.д.), XSS-уязвимости, редиректы и переадресации — весь спектр уязвимостей веба (OWASP TOP 10). Проверки логики работы веб-приложения Тестирование логики работы приложения на стороне клиента. Тестирование на т.н. «состояние гонки» — race condition. Тестирование доступности информации исходя из прав доступа или его отсутствия. Проверка возможности дублирования или разделения данных. На этом этапе нам понадобится хорошо изучить логику работы приложения и эксплуатация с помощью https://portswigger.net/burp, https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project или все той же http://www.getmantra.com/download.html. Выявление таких уязвимостей в автоматическом режиме практически невозможно (кроме утилит работы с кодом для выявления формальных признаков такого рода уязвимостей и изучения исходного кода). Проверка серверного окружения Проверка архитектуры сервера. Поиск и выявление публичных уязвимостей. Проверка серверных учетных записей (службы и сервисы). Определение настроек сервера или компонентов (SSL и т.д.). Проверка прав доступа. Здесь можно воспользоваться как специализированными сканерами (под сервис), так и общеизвестными, например такими как http://www.openvas.org/, http://www.fastandeasyhacking.com/. Итого Имея план тестирования приложения мы можем шаг за шагом исследовать все его компоненты на наличие тех или иных уязвимостей. Исходя из веб-приложения, те или иные пункты могут быть дополнены специфичными для данного приложения проверками или программным обеспечением. В комментариях буду рад ответить на ваши вопросы.