目录导航
APIKiller 简介
一款高度可定制化的DAST&API Security平台
一款漏洞扫描(神)器
API Security Tool
项目背景
去年有幸进入字节无恒实验室实习,并负责抖音的安全SDLC工作,在期间也有不错的产出,但发现很多问题都是IDOR这类的越权问题,当时想的就是能不能自动化识别啥的,毕竟一直这样也挺低效的(其实字节是有IDOR相关的DAST工具,只是有些没覆盖到),所以项目名称原本叫IDORKiller。但是最近写着写着,想着索性做成工程化的工具,于是在原有的基础上,进行整体结构上的优化,时期能够保证高效、易拓展的特性,于是就有了现在的APIKiller项目。
项目介绍
项目架构

功能
- 支持HTTP/HTTPS流量检测
- 多来源检测
- 支持流量监听
- 支持历史流量回扫
- 多功能扫描模块
- 越权检测模块,高效精准,支持多情景检测
- 具备多角色账号、单角色账号测试能力【单角色账号测试暂不启用,黑盒师傅有想法的可以直接看文档中的介绍,或私下交流】
- 多维度、特征化判断引擎
- csrf检测模块
- 支持token检测
- 常见的referer、origin检测
- 【欢迎大家一起来开发新的模块】
- 越权检测模块,高效精准,支持多情景检测
- 多功能Filter处理,默认自带多个filter
- 针对性扫描,例如只对 baidu.com域名进行扫描
- 去重扫描,提高效率
- 自动过滤静态文件(js,gif,jpg,png,css,jpeg,xml,img,svg…)
- API 运维
- 提供简易的API Security运维平台
- 多方式漏洞发现提醒
- Lark飞书
- …
- 对抗常见风控手段
- 频控
由于多处核心组件采用了抽象的方式,所以可以给有需要的使用者进行快速的二次开发(二次开发的文档,后续将会补齐)
越权检测模块
越权检测既定分为三个子模块:未授权检测模块、单角色检测模块、多角色检测模块;但单角色检测模块和未授权检测模块存在较大优化空间,所以当前采用简易模式,仅能够适用于甲方日常,如果想用去扫描,则可以手动开启,或加以改造

越权判断引擎

未授权检测模块

单角色检测模块

多角色检测模块

CSRF检测模块

API运营平台

后期计划
- 添加基于poc的扫描模块
- 403bypass module
- 完善其他通知方式的支持
- 支持扫描代理功能
- 提供docker版快速搭建能力
- 其他
食用宝典
安装好数据库环境(我个人采用的是docker)
- docker pull 数据库镜像
sudo docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
- 导入apikiller.sql文件
sudo docker cp /tmp/apikiller.sql bteye-mysql:/tmp/apikiller.sql
- 登入mysql
docker exec -it mysql-server mysql -uroot -p123456 source /tmp/apikiller.sql
在 config.json 中配置好

安装根目录下的https证书[windows环境]
- 找到根目录下的ca.crt证书

- 点击安装即可,将其添加到系统根信任证书颁发位置

配置成功后,当发现漏洞时,会立即推送漏洞信息

一键启动【所有的配置都在config.json】


- ding~,发现新漏洞,快去看鸭
检测效果展示
这里基于VAPI越权靶场 进行实战模拟 配好环境后,先根据项目鉴权机制,拿两个账号,配置好config.json

然后启动项目,访问接口


成功检测出越权和csrf

项目地址
GitHub:
https://github.com/Aur0ra-m/APIKiller
转载请注明出处及链接