SSRF打认证的redis】的更多相关文章

redis客户端在向服务端传输数据用到的是RESP协议 客户端向Redis服务器发送一个仅由Bulk Strings组成的RESP Arrays. Redis服务器回复发送任何有效RESP数据类型作为回复的客户端. Bulk Strings用于表示长度最大为512 MB的单个二进制安全字符串 我们要了解它的编码方式 一个$字节后跟组成字符串的字节数(一个前缀长度),由CRLF终止. 现在数据包中的每一行数据就好理解了.每一个*number代表每一行命令,number代表每行命令中数组中的元素个数…
ssrf与gopher与redis 前言 ssrf打redis是老生常谈的问题,众所周知redis可以写文件,那么ssrf使用gopher协议去控制未授权的redis进行webshell的写入和计划任务的反弹.这类文件很多,我也自以为懂了,今天看到一道ctf题目,我才发现自己细节上还是有很多欠缺,也将其一并总结了 工具 gopher协议规则比较复杂,经过一下午查找,找到该工具生成的gopher很准确,且可自定义 https://github.com/firebroo/sec_tools 使用方法…
0x00 redis基础 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets…
Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性. 1. 修改配置文件 Redis的配置文件默认在/etc/redis.conf,找到如下行: #requirepass foobared 2. 重启Redis 如果Redis已经配置为service服务,可以通过以下方式重启: service redis restart 如果Redis没有配置…
Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性. 1. 修改配置文件 Redis的配置文件默认在/etc/redis.conf,找到如下行: #requirepass foobared 去掉前面的注释,并修改为所需要的密码: requirepass myPassword 2. 重启Redis 如果Redis已经配置为service服务,可以…
    0x00实验环境 1.centos靶机(IP为:192.168.11.205,桥接模式) 2.kali黑客攻击主机(IP为:192.168.172.129,NAT模式) 0x01实验原理 这段payload的作用我们先说明一下,其作用是在靶机的/var/spool/cron临时目录下,利用ssrf漏洞写入黑客的redis数据库的操作,这样,黑客可以通过自己写入的redis数据库直接运行后获取靶机的shell 0x02实验步骤 (1)在centos靶机内部部署:  注意:这里面的192.1…
一.环境搭建和知识储备 1.1.影响版本 漏洞编号:CVE-2014-4210 weblogic 10.0.2.0 weblogic 10.3.6.0 1.2.Docker搭建环境 1.进入vulhub/fastjson,启动docker即可 cd /root/vulhub/weblogic/ssrf docker-compose up -d 2.查看启动的docker进程 docker ps 二.漏洞复现 2.1.weblogic的SSRF漏洞 1.漏洞存在于weblogic目录下的/uddi…
以前用redis用的很多,各种数据类型用的飞起,算是用得很溜了.不过那都是封装好的方法,自己直接调用.以前的公司比较规范,开发只是开发,很少去做跟运维相关的事情. 换了一份工作,不过这边项目刚开始起步,各种东西还不是很全,需要从头做起.运维什么的都是自己来.这下要考虑的东西就多了.比如说redis主从同步配置,redis认证等等.一路摸索过来,踩了各种坑.这篇文章主要记录redis主从配置,认证机制,以及php操作redis的几个脚本. 1 主从同步 个人认为,redis比mysql简单多了.r…
我在使用thinkphp3.2.3的时候 发现如果是使用redis缓存 设置了认证的redis能连接成功 却无法 set 操作 ,检查发现是没有认证导致的  $redis->auth这一步没有,那么官方给出的 Redis.class.php没有的话,我们可以自己加上,在构造函数第29行 将以前的代码改为: 以前代码如下: $options = array_merge(array ( 'host' => C('REDIS_HOST') ? : '127.0.0.1', 'port' =>…
我在使用thinkphp3.2.3的时候 发现如果是使用redis缓存 设置了认证的redis能连接成功 却无法 set 操作 ,检查发现是没有认证导致的  $redis->auth这一步没有,那么官方给出的 Redis.class.php没有的话,我们可以自己加上,在构造函数第29行 将以前的代码改为: 以前代码如下: $options = array_merge(array ( 'host' => C('REDIS_HOST') ? : '127.0.0.1', 'port' =>…