Astra : Automated Security Testing For REST API's
Astra merupakan tool berbasis python untuk melakukan testing otomatis keamanan API REST, terkadang melakukan testing penetration pada API REST bukan hal yang mudah, karena sering terjadinya perubahan pada exisiting API dan penambahan API yang baru.
Astra dapat digunakan oleh security engineers atau developer sendiri sebagai bagian proses, sehingga mereka dapat melakukan deteksi dan perbaikan jika terjadi celah dalam proses development. Astra dapat secara otomatis mendeteksi dan melakukan test login, logout (Authentication API). Astra juga dapat menggunakan API Collection sebagai input sehingga dapat digunakan untuk testing API dalam mode stand alone.
Berikut sejumlah issues yang bisa dideteksi :
SQL injection
Cross site scripting
Information Leakage
Broken Authentication and session management
CSRF (including Blind CSRF)
Rate limit
CORS misconfiguration (including CORS bypass techniques)
JWT attack
CRLF detection
Blind XXE injection
Requirement
- Linux or MacOS
- Python 2.7
- mongoDB
Installation
$ git clone https://github.com/flipkart-incubator/Astra
$ cd Astra
$ sudo pip install -r requirements.txtUsage: CLI
$ 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 APIuntuk lebih jelas nya bisa membaca disini https://github.com/flipkart-incubator/Astra
Bacaan terkait
Menerapkan IP Blocker di Laravel
Untuk meningkatkan security di website, salah satunya dengan menerapkan IP blocker atau mem-blokir IP address yang mengakses website. Di laravel salah satunya dengan...
jadX : Android Reverse Engineering dari Android Dex ke File Java
Jadx merupakan aplikasi berbasis Command line dan GUI yang memungkinkan untuk melakukan konversi ke file source java dan file android Dex atau file apk. Fitur utama:...
HexorBase : Audit Multi Database Server Secara Bersamaan
HexorBase merupakan aplikasi database yang dikembangkan untuk mengatur dan melakukan audit multi database secara secara bersamaan dan terpusat (centralized location)...
Komentar (0)
Belum ada komentar. Jadilah yang pertama.
Tulis komentar
Komentar akan dimoderasi sebelum tampil.

