Astra – это основанный на Python инструмент для автоматического тестирования безопасности API, тестирование на проникновение API REST является сложным из-за постоянных изменений в существующих API и вновь появляющихся API.
Astra может использоваться инженерами или разработчиками в области безопасности как неотъемлемую часть процесса, поэтому они могут обнаруживать и исправлять уязвимости на ранних этапах цикла разработки.
Astra может автоматически обнаруживать и проверять вход и выход из системы (API аутентификации), поэтому любой может легко интегрировать это в конвейер CI/CD.
Astra может принимать коллекцию API в качестве входных данных, поэтому ее также можно использовать для тестирования API в автономном режиме, она ищет следующие проблемы:
- SQL-инъекция
- Межсайтовый скриптинг
- Утечка информации
- Аутентификация и управление сессиями
- CSRF (включая слепой CSRF)
- Ограничение скорости
- Неправильная настройка CORS (включая методы обхода CORS)
- Атака JWT
- Обнаружение CRLF
- Слепая инъекция XXE
Использование Astra для автоматического тестирования безопасности API
$ python astra.py --help
_
/\ | |
/ \ ___| |_ _ __ __ _
/ /\ \ / __| __| '__/ _` |
/ ____ \__ \ |_| | | (_| |
/_/ \_\___/\__|_| \__,_|
usage: astra.py [-h] [-c {Postman,Swagger}] [-n COLLECTION_NAME] [-u URL]
[-headers HEADERS] [-method {GET,POST}] [-b BODY]
[-l LOGINURL] [-H LOGINHEADERS] [-d LOGINDATA]
REST API Security testing Framework
optional arguments:
-h, --help show this help message and exit
-c {Postman,Swagger}, --collection_type {Postman,Swagger}
Type of API collection
-n COLLECTION_NAME, --collection_name COLLECTION_NAME
Type of API collection
-u URL, --url URL URL of target API
-headers HEADERS, --headers HEADERS
Custom headers.Example: {"token" : "123"}
-method {GET,POST}, --method {GET,POST}
HTTP request method
-b BODY, --body BODY Request body of API
-l LOGINURL, --loginurl LOGINURL
URL of login API
-H LOGINHEADERS, --loginheaders LOGINHEADERS
Headers should be in a dictionary format. Example:
{"accesstoken" : "axzvbqdadf"}
-d LOGINDATA, --logindata LOGINDATA
login data of API







