
APIKiller – DAST&API 安全扫描平台
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