1.安装与使用

https://github.com/API-Security/APIKit

APIKit是基于BurpSuite提供的JavaAPI开发的插件。

APIKit可以主动/被动扫描发现应用泄露的API文档,并将API文档解析成BurpSuite中的数据包用于API安全测试。

使用:

https://github.com/API-Security/APIKit/releases/tag/release

直接下载编译好的jar包导入burp就好,下载之后,加到burp上就可以了

然后工具下载好之后与此对应的有一个api的apisandbox项目用于测试api漏洞

https://github.com/API-Security/APISandbox

APISandbox是一个包含多个场景的API漏洞靶场。

APISandbox:

推荐使用ubuntu环境

安装pip和docker

1
2
3
4
5
6
7
8
9
#安装docker
sudo apt-get update
sudo apt-get install -y docker.io
#安装pip3
sudo apt install python3-pip
#启动docker命令
sudo service docker start
# 安装compose
pip3 install docker-compose

参考:https://www.linuxidc.com/Linux/2018-05/152390.htm

安装的时候应该是我的ubuntu环境问题会有个报错

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)

删除锁定文件,行了

sudo rm /var/lib/dpkg/lock-frontend

sudo rm /var/lib/dpkg/lock

然后重新打开命令行执行

输入docker、pip3发现命令可以运行就安装成功了

2.API漏洞靶场测试工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#下载项目
wget https://github.com/API-Security/APISandbox/archive/refs/heads/main.zip -O APISandbox-main.zip
unzip APISandbox-main.zip
cd APISandbox-main

# 进入某一个漏洞/环境的目录
cd OWASPApiTop10/docker

# 自动化编译环境
docker-compose build

# 启动整个环境
docker-compose up -d
Creating network "docker_default" with the default driver
Creating owaspapitop10 ...
Creating owaspapitop10 ... done

# 测试完删除整个环境
docker-compose down -v

# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec463a92d105 owaspapitop10/owaspapitop10 "./owaspapitop10" 24 hours ago Up 24 hours 0.0.0.0:58084->8080/tcp, :::58084->8080/tcp owaspapitop10

# 使用ifconfig命令不存在
ifconfig -a

Command 'ifconfig' not found, but can be installed with:

sudo apt install net-tools
#进行安装
sudo apt install net-tools

#查看ip
192.168.1.103

访问

192.168.1.103:58084

使用burp进行抓包

然后在APIKit勾选Auto request sending

两个参数代表的意义

Send with Cookie

开启Cookie,可以把包的Cookie存下来,生成请求的时候保留Cookie。

Auto Request Sending

选择开启Auto Request Sending后,可以对子API进行自动化鉴权测试,快速发现API未授权访问漏洞。

选择之后点击DoAPI scan 然后就会自动化扫描接口

发现swagger页面上显示的api在burp上都有显示,我能想到的场景是在渗透过程中信息收集到swagger页面有很多的api使用这个工具就可以自动化的进行测试api是否有效的

选择注册接口发送到重发器

修改参数可以发现测试成功

3.总结

根据APIKit项目上的介绍,

  1. 某授权项目站点为/xxgateway/index,APIKit帮助发现/xxgateway/actuator并最后完成RCE。
  2. 某SRC站点使用了swagger,使用APIKit和xray联动遍历所有的API,最终发现多个高危严重漏洞。

能知道这个工具可以帮助在安全测试过程中发现隐藏的接口,进而增加暴露面能找到更多的漏洞