Web API Pentesting
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
API Pentesting Methodology Summary
Pentesting APIs involves a structured approach to uncovering vulnerabilities. This guide encapsulates a comprehensive methodology, emphasizing practical techniques and tools.
Understanding API Types
SOAP/XML Web Services: Використовують формат WSDL для документації, зазвичай знаходиться за шляхами
?wsdl
. Інструменти, такі як SOAPUI та WSDLer (розширення Burp Suite), є важливими для парсингу та генерації запитів. Приклад документації доступний на DNE Online.REST APIs (JSON): Документація часто надається у файлах WADL, але інструменти, такі як Swagger UI, забезпечують більш зручний інтерфейс для взаємодії. Postman є цінним інструментом для створення та управління прикладами запитів.
GraphQL: Мова запитів для API, що пропонує повний та зрозумілий опис даних у вашому API.
Practice Labs
VAmPI: Навмисно вразливий API для практики, що охоплює 10 найпоширеніших вразливостей API за версією OWASP.
Effective Tricks for API Pentesting
SOAP/XML Vulnerabilities: Досліджуйте вразливості XXE, хоча оголошення DTD часто обмежені. Теги CDATA можуть дозволити вставку корисного навантаження, якщо XML залишається дійсним.
Privilege Escalation: Тестуйте кінцеві точки з різними рівнями привілеїв, щоб виявити можливості несанкціонованого доступу.
CORS Misconfigurations: Досліджуйте налаштування CORS на предмет потенційної експлуатації через CSRF-атаки з автентифікованих сесій.
Endpoint Discovery: Використовуйте шаблони API для виявлення прихованих кінцевих точок. Інструменти, такі як фуззери, можуть автоматизувати цей процес.
Parameter Tampering: Експериментуйте з додаванням або заміною параметрів у запитах для доступу до несанкціонованих даних або функцій.
HTTP Method Testing: Варіюйте методи запитів (GET, POST, PUT, DELETE, PATCH), щоб виявити несподівану поведінку або розкриття інформації.
Content-Type Manipulation: Перемикайтеся між різними типами вмісту (x-www-form-urlencoded, application/xml, application/json), щоб перевірити наявність проблем з парсингом або вразливостей.
Advanced Parameter Techniques: Тестуйте з несподіваними типами даних у JSON-навантаженнях або грайте з XML-даними для XXE-ін'єкцій. Також спробуйте забруднення параметрів і символи підстановки для більш широкого тестування.
Version Testing: Старі версії API можуть бути більш вразливими до атак. Завжди перевіряйте та тестуйте проти кількох версій API.
Tools and Resources for API Pentesting
kiterunner: Чудово підходить для виявлення кінцевих точок API. Використовуйте його для сканування та брутфорсингу шляхів і параметрів проти цільових API.
Додаткові інструменти, такі як automatic-api-attack-tool, Astra та restler-fuzzer, пропонують спеціалізовані функції для тестування безпеки API, починаючи від симуляції атак до фуззингу та сканування вразливостей.
Cherrybomb: Це інструмент безпеки API, який перевіряє ваш API на основі файлу OAS (інструмент написаний на Rust).
Ресурси для навчання та практики
OWASP API Security Top 10: Основне читання для розуміння поширених вразливостей API (OWASP Top 10).
API Security Checklist: Всеосяжний контрольний список для забезпечення безпеки API (GitHub link).
Logger++ Filters: Для пошуку вразливостей API, Logger++ пропонує корисні фільтри (GitHub link).
API Endpoints List: Кураторський список потенційних кінцевих точок API для тестування (GitHub gist).
Посилання
Використовуйте Trickest для легкого створення та автоматизації робочих процесів, підтримуваних найсучаснішими інструментами спільноти. Отримайте доступ сьогодні:
Навчайтеся та практикуйте Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Навчайтеся та практикуйте Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Last updated