1.4-蜜罐\堡垒机\API接口
蜜罐:用来钓鱼或诱惑测试人员的防护系统
bash <(curl -sS -L https://hfish.net/webinstall.sh) # 安装HFISH蜜罐
堡垒机: 运维用的,统一管理运维平台;拿下堡垒机就很有可能等于拿下了多个平台
jumpServer一键安装(Ubuntu20.04)
curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash
API: 看URL的特征会告诉你是不是API地址
内部API就只供内部系统之间通信,外部API就可以让外部公司或组织使用,通常需要APIKey
通常就是:/v1/api /v2/api /api
FOFA语句:app=“Swagger” && country=“CN”
Swagger 让 API 变得可视化,不用写代码就能看到 API 的请求和返回结果。
找到API接口就相当于对网站服务器有了发送请求的能力
但要注意:
- 很多 API 需要身份验证(如 API Key、Token)——就像门禁卡,没有权限就不能访问。
- 网站可能会有防护机制(如限流、反爬虫、IP 访问控制)——防止滥用 API。
- 有些 API 只能内部使用(内部 API),外部无法直接访问(也就是外网无法直接访问)。结果就是:使用公网 IP 访问时,返回 403 Forbidden 或 无法解析域名。
分析 API 返回信息:
-
401 Unauthorized
→ 需要 Token -
403 Forbidden
→ 访问受限(IP/权限问题) -
404 Not Found
→ 可能是内部 API,但你访问的方式不对
分析API的目录结构、接口命名规则、参数命名规则、功能和业务逻辑等,
根据这些信息可以进行接口枚举和参数枚举,进而可以进行相关的漏洞测试。
Curl命令:
功能 | 命令 |
---|---|
访问网页 | curl https://example.com |
发送 GET 请求 | curl -X GET "https://api.example.com/users?id=123" |
发送 POST 请求 | curl -X POST -d "username=admin&password=123456" "https://api.example.com/login" |
发送 JSON 数据 | curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' "https://api.example.com" |
添加请求头 | curl -H "User-Agent: Mozilla/5.0" "https://api.example.com" |
下载文件 | curl -O https://example.com/file.zip |
允许跳转 | curl -L https://example.com |
查看请求详情 | curl -v https://example.com |
只获取响应头 | curl -I https://example.com |