Astra:针对REST API的自动化安全测试工具

栏目: IT技术 · 发布时间: 4年前

内容简介:REST即表述性状态传递(英文:Representational State Transfer,简称REST)是一套新兴的WEB通讯协议,访问方式和普通的HTTP类似,平台接口分GET和POST两种请求方式。针对REST API的渗透测试非常的复杂,因为不仅现有的API会不断更新和变化,而且还会不断增加新的API。对于广大安全研究人员、安全工程师和开发者们来说,Astra这款工具可以帮助他们完成大量工作,并在开发周期的早期过程中检测并修复安全漏洞。Astra可以自动检测并测试登录&注销功能(认证API),因

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是一套新兴的WEB通讯协议,访问方式和普通的HTTP类似,平台接口分GET和POST两种请求方式。

针对REST API的渗透测试非常的复杂,因为不仅现有的API会不断更新和变化,而且还会不断增加新的API。对于广大安全研究人员、安全工程师和开发者们来说,Astra这款 工具 可以帮助他们完成大量工作,并在开发周期的早期过程中检测并修复安全漏洞。Astra可以自动检测并测试登录&注销功能(认证API),因此任何人都可以轻松将其集成到CICD管道中。除此之外,Astra还可以将API**作为输入参数来进行测试,并可在独立模式下测试大量API安全。

功能介绍

1、 SQL 注入
2、跨站脚本XSS
3、信息泄露
4、不安全的身份认证和会话管理
5、CSRF(包括Blind CSRF)
6、频率限制
7、CORS错误配置(包括CORS绕过技术)
8、JWT攻击
9、CRLF检测
10、XEE盲注

工具要求

Linux或macOS
Python 2.7
MongoDB

工具安装

$ git clone https://github.com/flipkart-incubator/Astra

$ cd Astra

$ sudo pip install -r requirements.txt

Docker安装

运行Mongo容器:

$ docker pull mongo

$ docker run --name astra-mongo -d mongo

安装GUI Docker:

$ git clone https://github.com/flipkart-incubator/Astra.git

$ cd Astra

$ docker build -t astra .

$ docker run --rm -it --link astra-mongo:mongo -p 8094:8094 astra

安装CLI Docker:

$ git clone -b docker-cli https://github.com/flipkart-incubator/Astra.git

$ cd Astra

$ docker build -t astra-cli .

$ docker run --rm -it --link astra-mongo:mongo astra-cli

依赖组件

- requests

- logger

- pymongo

- ConfigParser

- pyjwt

- flask

- sqlmap

工具使用-命令行

$ 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

工具使用-Web接口

直接在命令行中运行api.py,然后打开浏览器,通过访问 http://127.0.0.1:8094 的进入工具Web接口:

$ cd API

$ python api.py

工具运行截图

新建扫描任务:

Astra:针对REST API的自动化安全测试工具

生成扫描报告:

Astra:针对REST API的自动化安全测试工具 Astra:针对REST API的自动化安全测试工具

详细报告:

Astra:针对REST API的自动化安全测试工具


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

OKR工作法

OKR工作法

克里斯蒂娜•沃特克 (Christina Wodtke) / 明道团队 / 中信出版社 / 2017-9-1 / CNY 42.00

《OKR工作法》讲述了一种风靡硅谷科技企业的全新工作模式。 如何激励不同的团队一起工作,全力以赴去实现一个有挑战性的目标? 硅谷的两个年轻人汉娜和杰克,像很多人一样,在萌生了一个创意后,就走上创业之路。但是,很快他们发现好的想法远远不够,必须还有一套适合的管理方法确保梦想能实现。为了让创业团队生存下来,汉娜和杰克遭受了内心的苦苦挣扎和煎熬。他们患上“新奇事物综合症”,什么都想做,导致无......一起来看看 《OKR工作法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具