Swagger接口泄露(脱敏获取密码)

Swagger接口泄露(脱敏获取密码)

1. 概述:
访问 /env 接口时,spring actuator 会将一些带有敏感关键词(如 password、secret)的属性名对应的属性值用 * 号替换达到脱敏的效果
2. 利用条件:
可正常 GET 请求目标 /heapdump 或 /actuator/heapdump 接口
3. 利用方法:
步骤一: 找到想要获取的属性名
GET 请求目标网站的 /env 或 /actuator/env 接口,搜索 ****** 关键词,找到想要获取的被星号 * 遮掩的属性值对应的属性名。
Swagger接口泄露(脱敏获取密码)_第1张图片

步骤二: 下载 jvm heap 信息
下载的 heapdump 文件大小通常在 50M—500M 之间,有时候也可能会大于 2G
url: http://xx.xx.xx.xx:8088/actuator/heapdump
GET 请求目标的 /heapdump 或 /actuator/heapdump 接口,下载应用实时的 JVM 堆信息
步骤三: 使用heapdump_tool工具脱敏

  1. 将下载的heapdump 放入heapdump_tool同一目录下:
    Swagger接口泄露(脱敏获取密码)_第2张图片
  2. 启动heapdump_tool工具:
java -jar heapdump_tool.jar heapdump
  1. 这里我们选择1后会加载:
    Swagger接口泄露(脱敏获取密码)_第3张图片
  2. 加载完成后输入我们想脱敏感的关键字去查找,比如password:
    Swagger接口泄露(脱敏获取密码)_第4张图片
  3. 可以看到,所有的password字段明文显示!

你可能感兴趣的:(渗透测试,Web安全进阶课程笔记,java,开发语言,后端)