Astra ابزاری مبتنی بر پایتون است که به طور خودکار می تواند امنیت API را آزمایش کند ، آزمایش نفوذ در API های REST به دلیل تغییر مداوم در API های موجود و API های نوظهور دشوار است. بخشی از فرایند ، بنابراین آنها می توانند آسیب پذیری ها را در مراحل اولیه چرخه توسعه شناسایی و برطرف کنند.
Astra می تواند به طور خودکار ورود و خروج از سیستم (API تأیید اعتبار) را شناسایی و تأیید کند ، بنابراین هر کس می تواند این می تواند به راحتی در خط لوله CI / CD وارد شود.
Astra می تواند مجموعه API را به عنوان ورودی بپذیرد ، بنابراین می تواند برای تست آفلاین API نیز مورد استفاده قرار گیرد ، به دنبال مشکلات زیر است:
- SQL injection [19659007] اسکریپت Crossite
- نشت اطلاعات
- تأیید اعتبار و مدیریت جلسه
- CSRF (از جمله CSRF کور)
- محدودیت سرعت
- پیکربندی نادرست CORS (از جمله روش های بای پس از CORS)
- حمله JWT
- CRLF
- Blind Injection XXE
استفاده از Astra برای تست خودکار امنیتی API در
$ پایتون astra.py --help
_
/ | |
/ ___ | | _ _ __ __ _
/ / / __ | __ | '__ / _` |
/ ____ __ | _ | | | (_ | |
/ _ / _ ___ / __ | _ | __ ، _ |
استفاده: 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
آرگومان های اختیاری:
-h ، - راهنما این پیام راهنما را نشان داده و از آن خارج شوید
-c پستچی ، Swagger ، --collection_type {پستچی ، Swagger}
نوع مجموعه API
- در COLLECTION_NAME ، - جمع آوری_نام COLLECTION_NAME
نوع مجموعه API
-u URL ، - URL URL URL API هدف
سرهای رهبران ، - سرهای HEADERS
هدرهای سفارشی. مثال: {"نشانه": "123"
-method ET GET ، POST ، --method {GET ، POST
روش درخواست HTTP
-b BODY ، - هر کس بدن درخواست API بدن
-L LOGINURL ، --loginurl LOGINURL
آدرس API ورود به سیستم
- LOGINHEADERS ، - وبلاگ ها LOGINHEADERS
هدرها باید به صورت دیکشنری باشند. مثال:
"accesstoken": "axzvbqdadf"
LOGINDATA ، --logindata LOGINDATA
داده های ورود به برنامه API
Astra را می توانید در اینجا بارگیری کنید: