РАЗБОР

Краткое описание методологии тестирования на проникновение API

infoseclab
infoseclab Script Kiddie · 32 сообщений
Подписаться
5
[ обложка статьи ]
Режим чтения
Тестирование API на проникновение предполагает структурированный подход к выявлению уязвимостей. В этом руководстве представлена всесторонняя методология с акцентом на практические методы и инструменты.
1794346972281.webp

Понимание типов 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 ).

Полезный ресурс!!!
infoseclab
Автор материалаinfoseclab
OSINT, Пентест, Веб-безопасность, Сетевая безопасность
Полезно

Комментарии

0