РАЗБОР
Краткое описание методологии тестирования на проникновение API
[ обложка статьи ]
Режим чтения
Тестирование API на проникновение предполагает структурированный подход к выявлению уязвимостей. В этом руководстве представлена всесторонняя методология с акцентом на практические методы и инструменты.
REST API (JSON) : Документация часто представлена в виде WADL-файлов, однако такие инструменты, как Swagger UI, предоставляют более удобный интерфейс для взаимодействия. Postman — ценный инструмент для создания и управления примерами запросов.
GraphQL : язык запросов для API, предоставляющий полное и понятное описание данных в вашем API.
Уязвимости SOAP/XML : Изучите уязвимости XXE, хотя объявления DTD часто имеют ограничения. Теги CDATA могут допускать вставку полезной нагрузки, если XML-код остается действительным.
Повышение привилегий : тестирование конечных точек с различными уровнями привилегий для выявления возможностей несанкционированного доступа.
Неправильная настройка CORS : Изучите настройки CORS на предмет потенциальной возможности использования уязвимостей CSRF-атак из аутентифицированных сессий.
Обнаружение конечных точек : Используйте шаблоны API для обнаружения скрытых конечных точек. Такие инструменты, как фаззеры, могут автоматизировать этот процесс.
Изменение параметров : Экспериментируйте с добавлением или заменой параметров в запросах для доступа к несанкционированным данным или функциям.
Тестирование HTTP-методов : Изменяйте методы запроса (GET, POST, PUT, DELETE, PATCH), чтобы выявить неожиданное поведение или утечку информации.
Манипулирование типами контента : Переключайтесь между различными типами контента (x-www-form-urlencoded, application/xml, application/json), чтобы проверить наличие проблем с парсингом или уязвимостей.
Расширенные методы работы с параметрами : протестируйте неожиданные типы данных в JSON-данных или поэкспериментируйте с XML-данными для выявления XXE-инъекций. Также попробуйте использовать «загрязнение» параметров и символы-заменители для более широкого тестирования.
Тестирование версий : Более старые версии API могут быть более подвержены атакам. Всегда проверяйте и тестируйте API на нескольких версиях.
GitHub - BishopFox/sj: A tool for auditing endpoints defined in exposed (Swagger/OpenAPI) definition files. - это инструмент командной строки, предназначенный для аудитаоткрытых файлов определений Swagger/OpenAPIпутем проверки связанных с ними конечных точек API на наличие слабой аутентификации. Он также предоставляет шаблоны команд для ручного тестирования уязвимостей.
Дополнительные инструменты, такие как automatic-api-attack-tool , Astra и restler-fuzzer, предлагают специализированные функции для тестирования безопасности API, от моделирования атак до фаззинга и сканирования уязвимостей.
Cherrybomb : Это инструмент для проверки безопасности API, который проводит аудит вашего API на основе OAS-файла (инструмент написан на Rust).
Учебные и практические ресурсы
OWASP API Security Top 10 : Обязательное чтение для понимания распространенных уязвимостей API ( OWASP Top 10 ).
Контрольный список по безопасности API : исчерпывающий контрольный список для обеспечения безопасности API ( ссылка на GitHub ).
Фильтры Logger++ : Для поиска уязвимостей API Logger++ предлагает полезные фильтры ( ссылка на GitHub ).
Список API-интерфейсов : Подборка потенциальных API-интерфейсов для тестирования ( GitHub gist ).
Полезный ресурс!!!
github.com
Понимание типов API
Веб-сервисы SOAP/XML : Используйте формат WSDL для документации, обычно доступный по указанным ?wsdlпутям. Такие инструменты, как SOAPUI и WSDLer (расширение Burp Suite), играют важную роль в анализе и генерации запросов. Примеры документации доступны на DNE Online .REST API (JSON) : Документация часто представлена в виде WADL-файлов, однако такие инструменты, как Swagger UI, предоставляют более удобный интерфейс для взаимодействия. Postman — ценный инструмент для создания и управления примерами запросов.
GraphQL : язык запросов для API, предоставляющий полное и понятное описание данных в вашем API.
Практические занятия
VAmPI : Заведомо уязвимый API для практического применения, охватывающий 10 наиболее распространенных уязвимостей API по версии OWASP.Эффективные приемы для тестирования API на проникновение
Уязвимости SOAP/XML : Изучите уязвимости XXE, хотя объявления DTD часто имеют ограничения. Теги CDATA могут допускать вставку полезной нагрузки, если XML-код остается действительным.
Повышение привилегий : тестирование конечных точек с различными уровнями привилегий для выявления возможностей несанкционированного доступа.
Неправильная настройка CORS : Изучите настройки CORS на предмет потенциальной возможности использования уязвимостей CSRF-атак из аутентифицированных сессий.
Обнаружение конечных точек : Используйте шаблоны API для обнаружения скрытых конечных точек. Такие инструменты, как фаззеры, могут автоматизировать этот процесс.
Изменение параметров : Экспериментируйте с добавлением или заменой параметров в запросах для доступа к несанкционированным данным или функциям.
Тестирование HTTP-методов : Изменяйте методы запроса (GET, POST, PUT, DELETE, PATCH), чтобы выявить неожиданное поведение или утечку информации.
Манипулирование типами контента : Переключайтесь между различными типами контента (x-www-form-urlencoded, application/xml, application/json), чтобы проверить наличие проблем с парсингом или уязвимостей.
Расширенные методы работы с параметрами : протестируйте неожиданные типы данных в JSON-данных или поэкспериментируйте с XML-данными для выявления XXE-инъекций. Также попробуйте использовать «загрязнение» параметров и символы-заменители для более широкого тестирования.
Тестирование версий : Более старые версии API могут быть более подвержены атакам. Всегда проверяйте и тестируйте API на нескольких версиях.
Инструменты и ресурсы для тестирования API на проникновение
kiterunner : Отлично подходит для обнаружения конечных точек API. Используйте его для сканирования и перебора путей и параметров целевых API.
Код:
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
GitHub - BishopFox/sj: A tool for auditing endpoints defined in exposed (Swagger/OpenAPI) definition files. - это инструмент командной строки, предназначенный для аудитаоткрытых файлов определений Swagger/OpenAPIпутем проверки связанных с ними конечных точек API на наличие слабой аутентификации. Он также предоставляет шаблоны команд для ручного тестирования уязвимостей.
Дополнительные инструменты, такие как automatic-api-attack-tool , Astra и restler-fuzzer, предлагают специализированные функции для тестирования безопасности API, от моделирования атак до фаззинга и сканирования уязвимостей.
Cherrybomb : Это инструмент для проверки безопасности API, который проводит аудит вашего API на основе OAS-файла (инструмент написан на Rust).
Учебные и практические ресурсы
OWASP API Security Top 10 : Обязательное чтение для понимания распространенных уязвимостей API ( OWASP Top 10 ).
Контрольный список по безопасности API : исчерпывающий контрольный список для обеспечения безопасности API ( ссылка на GitHub ).
Фильтры Logger++ : Для поиска уязвимостей API Logger++ предлагает полезные фильтры ( ссылка на GitHub ).
Список API-интерфейсов : Подборка потенциальных API-интерфейсов для тестирования ( GitHub gist ).
Полезный ресурс!!!
GitHub - Cyber-Guy1/API-SecurityEmpire: API Security Project aims to present unique attack & defense methods in API Security field
API Security Project aims to present unique attack & defense methods in API Security field - Cyber-Guy1/API-SecurityEmpire
AI-выжимка
по разделам
Тезисы статьи скоро
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
Содержание
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
Перейти к курсу →
Продолжить чтение
Следующий разбор
Я не взломал их C2. Я заставил бота сдать его сам | РАЗБОР ТОГО КАК Я РЕВЕРСНУЛ КАСТОМНЫЙ ПРОТОКОЛ С2 ГРУППИРОВКИ 2137GANG
Комментарии
0