【MySQL】身份验证绕过、搭建【Docker】

本文详细介绍了MySQL的CVE-2012-2122漏洞,该漏洞允许通过不断的密码尝试来绕过身份验证。文章涵盖前期准备,包括Docker沙盒的安装和靶场搭建,然后通过docker-compose部署漏洞环境。文中还提供了两种攻击方法,一是利用msfconsole,二是使用shell命令,展示了如何复现漏洞并上传木马,最后提到了通过菜刀连接靶机shell及使用wireshark抓包分析。

 

CVE-2012-2122漏洞介绍

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

前期准备:

        0、安装Docker沙盒

        1、搭建vulhub 靶场

        2、下载vulhub源码

用docker-compose部署cve2012-2122漏洞 

 进入靶场目录,关闭防火墙,重启docker服务

 拉取镜像

 容器运行成功

关闭宿主机MySQL 

 

### Docker常见报错及其解决方案 #### 一、Docker无法连接到远程镜像仓库 (引用[1]) 当在CentOS7环境下执行`docker pull`命令时,如果遇到如下错误信息: ``` Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection ``` 可以通过修改DNS配置来解决问题。具体方法是编辑`/etc/resolv.conf`文件并将其nameserver更改为Google公共DNS地址`8.8.8.8`[^1]。 ```bash sudo vi /etc/resolv.conf ``` 随后保存更改,并重启Docker服务以使新配置生效: ```bash sudo systemctl restart docker ``` 最后再次运行拉取镜像的命令验证问题是否已解决: ```bash sudo docker pull mysql:5.7 ``` --- #### 二、Docker守护进程未启动或依赖库缺失 (引用[2]) 对于某些旧版本的操作系统(如CentOS6.5),安装Docker可能会因为缺少必要的动态链接库而引发错误。例如,执行`docker info`命令可能返回以下提示: ``` Cannot connect to the Docker daemon. Is 'docker -d' running on this host? ``` 或者尝试手动启动Docker守护程序时会显示类似这样的错误消息: ``` docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference. ``` 这种情况下需要更新系统的设备映射器工具包至最新版。通过Yum源升级libdevmapper即可修复该类问题[^2]: ```bash yum update device-mapper -y ``` 之后重新加载Docker服务确认一切正常运作。 --- #### 三、Docker登录认证失败 (引用[3]) 假如你在使用`docker login`指令过程中遭遇异常,则可能是由于先前存在的无效凭证干扰所致。此时建议先清除当前用户的任何现存会话数据后再重试一次完整的身份验证流程[^3]。 清理已有记录的方法很简单只需调用下面这条语句即可完成注销动作: ```bash docker logout ``` 接着再按照常规方式输入用户名密码来进行新的注册过程。 --- #### 四、推送镜像到私有仓库失败 (引用[4]) 如果你正在向自定义搭建好的内部存储空间上传制品却收到类似于下方所示的通知: ``` The push refers to a repository [https://myrepo.example.com/myimage] Get https://myrepo.example.com/v2/: http: server gave HTTP response to HTTPS client ``` 那很显然这是因SSL证书校验环节出了差池所造成的后果之一。为了绕过这一限制条件可以在全局范围内指定例外情况允许明文通信模式下的交互行为发生[^4]。 创建(如果没有的话)或者编辑位于路径`/etc/docker/daemon.json`中的JSON格式配置文档加入下列字段内容表示针对特定主机名禁用了TLS强制策略应用情形: ```json { "insecure-registries": ["myrepo.example.com"] } ``` 记得完成后同样要告知后台管理单元知晓最新的改动状况以便即时反映出来效果最佳哦! --- ### 总结 上述四种场景分别涵盖了网络连通性调整、基础环境适配优化、安全机制冲突规避以及高级功能定制化处理等多个方面知识点讲解说明希望能够帮助大家快速定位并妥善处置各类棘手难题现象表现形式各异但核心思路始终围绕着官方文档指引方向展开探索实践检验真理价值所在之处正是如此体现出来的魅力无限广阔天地大有所为让我们一起携手共进共创辉煌明天吧朋友们加油干起来啊同志们!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值