先说一下本文的来龙去脉:

我是去年才接触到BurpSuite这个神器的,在此之前我都是自写工具来爆破密码的(网上找到的要么有针对性,要么不称手);使用了一段时间后发现BurpSuite比我自己的工具效率高的多,我写的东西真他妈垃圾……;再后来发现无法使用BurpSuite来完成带验证码的爆破,自写的工具终于有用武之地了。

鉴于BurpSuite的高效,手里握的这些东西也没什么大用了,果断发出来大家共同交流、研究。

提醒:本文所指的验证码是指简单的验证码,至于复杂的,识别算法也够复杂。有兴趣的可以去看@鬼哥Blog里面这方面的文章。

语言:AutoIt v3(C++)

构想:工具内置浏览器,完成网页自动操作。

劣势:自制工具单线程速度较BurpSuite慢很多。

优势:在浏览器中操作,模仿人工,而非Post数据包不会被某些JS检测;带验证码识别。

步骤:

一、用KODA图形编辑器画好界面

用KODA图形编辑器画好界面

二、生成窗体代码,编写事件代码

1、引用各类库函数,Autoit3的优点是很多比较实用的功能已经封装好,加参数引用即可,缺点是执行效率低了一点。编写爆破程序所要用到的库函数如下(见名而知意):

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#Include <String.au3>
#include <array.au3>
#include <Excel.au3>
#include <ProgressConstants.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include<GuiEdit.au3>
#include <acn_skin.au3>;皮肤加载
#include <file.au3>;文件管理
#include "getCODE.au3";自定义头文件,识别图形验证码用

2、编写爆破代码

爆破密码的代码如下(用户&密码、+验证码可自己发挥):

(严重变形,只能截图发上来了。)

爆破代码

爆破代码

循环输入字典中的每条字符并提交,直到提交后的页面没有密码输入框且没有特定的字符串为止(此为判定依据,只有输入了正确密码或是无法打开网页了才会出现这种情况)。

这时候已经能够用编写的工具来爆破WebShell密码了。

用编写的工具来爆破WebShell密码

用编写的工具来爆破WebShell密码

网速不错的情部下,一秒种猜3到5个密码没有问题。

三、改进代码支持用户名+密码

用户名+密码爆破比较简单,一个循环就搞定了。

三、改进代码支持用户名+密码+验证码爆破

带验证码的爆破比较复杂,需要先识别验证码(讯时那种直接生成数字而非图片验证码的除外)。幸好Autoit有丰富的GDI库支持,简单的调用便可搞定一般的验证码。思路如下:

打开登录页——》获得验证码链接——》打开验证码链接刷新取得验证码——》保存验证码图片到本地——》GDI拆解验证码图片为像素点色值——》存像素点位置及色值入数组——》二值化打印0&F——》处理噪点——》匹配特征库(预先做好,对付数字及英文验证码)——》输出验证码——》爆破

验证码图:

验证码图

验证码图

特征码库:

0

FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000000000
FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF
FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF

8

FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF
FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFF
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF000000000000FFFFFF
FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF

7

FFFFFF000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

………………

对付汛时验证码:

汛时验证码

对付一般的数字或英文图片验证码:

一般的数字或英文图片验证码

验证码打散识别:

验证码打散识别

现在约有%15左右的小站仍在使用简单的验证码,所以识别有的时候也派的上用场。

有了Autoit,XX监视器、XX发贴机……做起来也非常简单了,动手吧!

对于复杂、粘连、中文、多次形变的验证码(还没想到方法,算法太复杂)

如果您有好的方法和见解请回复,谢啦!^_^

[原文地址]

相关讨论:

1#

江南的鱼 | 2013-11-14 17:41

用易思验证码模块!

2#

khjian | 2013-11-14 17:44

看起来蛮强大的样子

3#

RedFree (才发现了,自己是自己的神器。) | 2013-11-14 17:44

@江南的鱼 易思 好东西。

4#

xsser (十根阳具有长短!!) | 2013-11-14 17:46

提个想法,做一个暴力破解联盟啊,这个问题的瓶颈在于说是网络瓶颈,所以越多的计算资源加入越容易解决,云端控制

5#

RedFree (才发现了,自己是自己的神器。) | 2013-11-14 17:55

@xsser 人工打码平台早都有了……,那些一天闲着没事的每天打几千码可以赚十来块钱呢……

6#

xsser (十根阳具有长短!!) | 2013-11-14 18:06

@RedFree 你赢了

7#

RedFree (才发现了,自己是自己的神器。) | 2013-11-14 18:09

@xsser 验证码识别方面,人赢了,计算机输了。我们要将这个局面反过来啊……

8#

YangCL | 2013-11-14 19:50

验证码

这种验证码。。

9#

3rr0r | 2013-11-14 20:07

@YangCL 只看到了J8

10#

国士无双 (你这个是跟我闹呐?) | 2013-11-14 20:51

洞主神器放出来了?

11#

猪是念着倒V | 2013-11-14 21:30

验证码识别那里弄接口 针对不同的验证码可以掉不同的模块脚本多好 不要只是特征比对 一些聚类和bp网络的算法对验证码识别很好用.

12#

Marsevil (?????????????????????????) | 2013-11-14 23:49

@江南的鱼 亦思确实挺好用的

13#

0x_Jin (世上人多心不齐) | 2013-11-15 09:02

@YangCL 我只看到了良家

14#

Rookie | 2013-11-15 09:24

BurpSuite 先抓一个正常登陆的包(带验证码的) 然后在爆破账号密码

15#

昵称 (</textarea>'"><script src) | 2013-11-15 09:43

某av小组有神器?

16#

征战 | 2013-11-15 10:24

8L亮了!!!

17#

Csser | 2013-11-15 10:25

神器!

19#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-11-15 15:18

uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码

http://www.uuwise.com/

留言评论(旧系统):

depycode @ 2014-03-02 19:41:59

mack ...

本站回复:

mark...

melody @ 2014-03-12 15:29:26

神器求分享啊

本站回复:

uu云验证码识别平台,验证码,验证码识别,全自动验证码识别技术,优优云全自动打码,代答题系统,优优云远程打码平台,uu云打码 http://www.uuwise.com/

angelc0de @ 2014-03-15 12:59:11

验证码越来越复杂,写程序识别也越来越困难,最有效解决验证码的办法,还是用人工打码,亦思验证码识别模块,只能解决一小部分,稍微加点旋转、干扰线、粘连的验证码它就搞不定了。

本站回复:

试一下这个:www.uuwise.com

佚名 @ 2014-03-16 09:58:09

工具我想要

本站回复:

额……