Web API Pentesting

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Використовуйте Trickest для легкої побудови та автоматизації робочих процесів за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:

Стислий огляд методології тестування веб-API

Тестування API включає структурований підхід до виявлення вразливостей. Цей посібник узагальнює всебічну методологію, наголошуючи на практичних техніках та інструментах.

Розуміння типів 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
  • Додаткові інструменти, такі як automatic-api-attack-tool, Astra та restler-fuzzer, пропонують індивідуальні функціональні можливості для тестування безпеки API, від симуляції атак до фаззінгу та пошуку вразливостей.

Ресурси для навчання та практики

  • OWASP API Security Top 10: Обов'язкове чтиво для розуміння поширених вразливостей API (OWASP Top 10).

  • API Security Checklist: Комплексний перелік для захисту API (Посилання на GitHub).

  • Фільтри Logger++: Для пошуку вразливостей API, Logger++ пропонує корисні фільтри (Посилання на GitHub).

  • Список кінцевих точок API: Упорядкований список потенційних кінцевих точок API для тестування (GitHub gist).

Посилання

Використовуйте Trickest, щоб легко створювати та автоматизувати робочі процеси за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated