利用docker搭建漏洞环境,使用SSRF+Redis写入centos以及ubuntu的公钥,实现免密登录

一、实验环境

kali:在kali中搭建docker容器环境,这里我主要是使用第一个;

redis作为一种数据库,它可以将数据写入内存中去,我们通过利用ssrf请求,实现服务器对自己的公钥写入,从而实验免密登录;

二、实验过程

前期准备和测试

redis保存数据是以键值的形式进行保存的,这里我使用的是docker搭建的centos环境;

使用以下命令进入centos容器;

复制代码
docker exex -it 容器的编号 /bin/bash

由于centos已经有了运行redis-server的脚本,所以我们只需在容器内,启用redis-cli即可;

测试是否可以正常写入,如图所示,写入的内容或者目录可以被修改

文件名也可被修改,所以我们可以构造一个公钥写入目标服务器中,达到免密登录的目的;

修改完保存,如图所示,写入成功!

出现的问题并解决

如果出现无法连接服务端的请况,我们就使用./start.sh运行这个脚本即可;

SSRF简述和实验开始

通过服务器进行请求伪造,利用gopher协议或者时dict对redis进行请求,实现文件的写入

gopher生成脚本
生成的payload

于是我们可以进行请求,将上述内容粘入点击Fetch

遇到的问题

第一次进行Fetch的时候,发现没有那个文件,这是因为没有在centos环境中生成它自己的公钥,导致无法写入,所以要事先在centos中利用ssh-keygen生成公钥才行;

结果

可见公钥成功的写入到了目标服务器中;

然后就能进行ssh免密登录了,可见登录成功!

遇到的问题

环境Dockerfile中存在一些问题,导致docker镜像中的22号端口起不来,所以对此文件进行了修改,运行/usr/sbin/sshd 启动sshd

遇到上述无法下载的情况,我们初始化一下文件就行了,如下图所示;

三、总结

centos和ubuntu的步骤几乎相同,只是由于redis的保护机制,所以会有以下错误,导致部分属性无法修改,解决方法是将protected-mode关闭,使用以下命令;

bash 复制代码
config set protected-mode no

由于redis版本限制的问题,7.2.5的安全性过高,会导致ssh免密登录不成功,所以这里我拉取了

5.0.5的版本

接着利用同样的操作就可实现免密登录;

相关推荐
九硕智慧建筑一体化厂家7 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
chunmiao30329 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
QX_hao9 小时前
【Kubernetes】 的三个Probe
容器·kubernetes
湘美书院--湘美谈教育10 小时前
湘美书院主理人谈AI文学:提示词与Skill的与时俱进
大数据·人工智能·安全·自动化·生活
hz5678911 小时前
视频会议终端对接详解:协议兼容、系统集成与常见问题
安全·实时音视频·信息与通信
安全指北针11 小时前
AI编程工具供应链安全实战:当你的AI编码助手成为跳板
人工智能·安全·ai编程
迪康Defender11 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
XR12345678812 小时前
医院网络安全与等保合规选型指南
安全·web安全
LPCK_2026062213 小时前
企业智能体可信安全架构:知识硬约束、执行层拦截与人工终审的技术实现
人工智能·安全·安全架构
天疆说13 小时前
01 硬件选型与 llama.cpp 部署:4× RTX 5880 Ada 跑 DeepSeek-V4-Flash
java·redis·llama