概述
什么是接口?
接口是后端设计的一套供给第三方使用的方法
举个例子,fofa提供了第三方api接口来进行调用,使用查询语法获取资产目标资产信息
输入相关参数进行调用
知识点
1、API分类特征-SOAP&OpenAPI&RESTful
2、API检测项目-Postman&APIKit&ReadyAPI
部分项目下载:
https://github.com/API-Security/APIKit
https://github.com/lijiejie/swagger-exp
https://github.com/jayus0821/swagger-hack
靶场和资源总结:
https://github.com/roottusk/vapi
https://github.com/API-Security/APISandbox
https://github.com/arainho/awesome-api-security
API分类特征-SOAP&OpenAPI&RESTful
API分类特征
SOAP - WSDL
OpenApi - Swagger
RESTful - /v1/api/
API常见漏洞
XSS跨站,信息泄露,暴力破解,文件上传,未授权访问,JWT授权认证,接口滥用、逻辑越权等
API检测流程
Method:请求方法
攻击方式:OPTIONS,PUT,MOVE,DELETE
效果:上传恶意文件,修改页面等
URL:唯一资源定位符
攻击方式:猜测,遍历,跳转
效果:未授权访问等
Params:请求参数
攻击方式:构造参数,修改参数,遍历,重发
效果:爆破,越权,未授权访问,突破业务逻辑等
Authorization:认证方式
攻击方式:身份伪造,身份篡改
效果:越权,未授权访问等
Headers:请求消息头
攻击方式:拦截数据包,改Hosts,改Referer,改Content-Type等
效果:绕过身份认证,绕过Referer验证,绕过类型验证,DDOS等
Body:消息体
攻击方式:SQL注入,XML注入,反序列化等
API检测项目-Postman&APIKit&XRAY
工具自动化-SOAP - WSDL
Postman 联动burp+xray
221.182.16.58:8081/Service1.asmx?WSDL
在运行之前需要在postman开启代理
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output 111.html
APIKit插件(可联动xray)
工具自动化-OpenApi - Swagger
Postman 联动burp+xray
18.163.235.104/swagger/v1/swagger.json
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output 103.html
https://github.com/lijiejie/swagger-exp
https://github.com/jayus0821/swagger-hack
python .\swagger-hack2.0.py -u https://demodts.backend.smarten.com.tw/swagger/v1/swagger.json
APIKit插件(可联动xray)
工具自动化-RESTful - /v1/api/
vAPI 编写了专门的测试 Collection
https://raw.githubusercontent.com/roottusk/vapi/master/postman/vAPI.postman_collection.json
手工发包测-vapi靶场
手工测试和工具自动化探测的点不一样,手工偏逻辑,工具自动化偏漏洞
Get User
获取用户信息–>将返回的id设置为api1_id ,需要在 Headers 中设置 Authorization-Token,格式为base64_encode(username:password)。
Update User
修改用户信息–>同样需要在 Headers 中设置 Authorization-Token,然后设置修改内容
漏洞利用点
在获取了对象数据时,只要传入任一有效的 Authorization-Token,即可获取所有用户信息
API4-手机验证码枚举
API5-接口遍历
更改URL地址尝试获取所有用户信息
API8-数据库注入
API9-V1/2多版本
V2无法爆破/V1爆破1655
Postman 联动burp+xray-vapi靶场
APIKit插件
SOAP&Swagger&RESTful挖掘案例
SOAP-WSDL漏扫SQL注入-数据库权限
1、发现SOAP接口
2、导入工具分析并扫描
3、发现存在SQL注入
4、利用当前接口进行数据包注入
SOAP-WSDL泄漏密码获取接口-后台权限
访问后台路由/admin/externalLogin,重定向到/admin,是后台的登陆界面