zoukankan      html  css  js  c++  java
  • 如何使用burp suite 来pj验证码

    pj带有验证码的验证。

    pj步骤:

    0.安装burpsuite和第三方插件 captcha-killer

    1.收集字典,注册OCR服务

    2.了解目标运行逻辑,抓取关键数据包

    3.在数据包上装载payload,开始pj

    0.安装burpsuite之前文章介绍过。这里要注意,第三方插件 captcha-killer只能运行burpsuite1.7上在2021上测试失败,java版本必需是1.8。因为在1.8后删除了base64位编码支持。

    下载 captcha-killer https://github.com/c0ny1/captcha-killer/releases ,注意有墙 ,下载可执行文件jar。

    打开burp,按照下图导入插件

    1.需要预先准备两个东西,一个是字典,一个是第三方OCR。这两样东西是成功的关键因素。

    字典,通过平时在互联网搜集,建议使用弱口令字典,或者定制字典。我为了方便下载了一个弱口令先试试、

    ocr有百毒、图鉴等等,个人建议使用图鉴,识别更好点,一个二维码收0.2厘。注册地址  http://www.ttshitu.com/user/index.html

    注册好之后登录,点击在线测试服务,你可以把你的图片验证码上传一张看看识别结果怎么样,如果可以就继续,不行换其他服务。

    点击 个人中心 - 充值 ,我这里购买 按需收费,买了10元的。你也可以选择套餐。你要跑多少数据包就买多少钱的套餐。

    2.通过使用burp不断地抓包分析得出,

    获取图片验证码地址:http://cc.ysI68.com/f_ht/sjzx/ys_vf_img.aspx?lx=1375778mm&sj=Fri%20Jul%2009%202021%2008:46:13%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)

    提交人口地址:http://cc.ysI68.com/f_ht/ajcx/mlrz.aspx?cz=Kqmmpd&mlbh=1375778&kqmm=111111&yzm=000&_dlmc=cap88&_dlmm= (其中参数cz表示密码登录方式下载,mlbh目录编号,kqmm目录下载密码,yzm验证码,_dlmc服务提供者用户名,_dlmm服务提供者密码)

    成功或者失败地特征:ture表示成功,0表示没有输入验证码,1=验证码不对,2和3=目录密码不对

    注意这里有个小技巧,burp在抓取验证码数据包时默认会过滤掉,因为显示出来没有意义,这时我们要手动关闭过滤,

    此时就可以在抓取历史记录中找到验证码数据包

    3.获取图片验证码数据包发送到captcha-killer插件

    在接口url中填入上如所示内容,api接口内容填写

    POST /base64 HTTP/1.1
    Host: api.ttshitu.com
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123
    Connection: close
    Content-Type: application/json; charset=UTF-8
    Content-Length: 2658
    
    {"username":"*","password":"*","typeid":"1","image":"<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>"}
    username和password填写你注册OCR时候的用户名和密码,其余不变。上面是图鉴服务模板,其它服务不能套用。

    匹配方式选择 json,匹配规则是 result,此时配置识别插件就就完成了。

    将提交人口数据包发送到intruder模块中,只要将 kqmm=§111111§&yzm=§000§ 设置位攻击点,攻击模式选择pitchfork,表示一对一设置字典。第一个位置选择弱口令,第二个位置选择由插件生成即可。执行后的匹配规则是,ture,0,1,2,3
    最后一定要将线程数设置为1!
    最后一定要将线程数设置为1!
    最后一定要将线程数设置为1!
    因为验证码获取是线性的,如果是多线程,下一个线程获取验证码后会让前一个验证码失效。
    点击开始攻击!!!


    最后我的审计还是失败了,为什么,我总结两点
    1.验证码识别有个准确率问题
    2.字典制作也是一门学问,我只是到互联网上随便找的,字典内容杂七杂八,失败也是必然的。


  • 相关阅读:
    【数据结构】线性表&&顺序表详解和代码实例
    【智能算法】超详细的遗传算法(Genetic Algorithm)解析和TSP求解代码详解
    【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)
    【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解
    10. js时间格式转换
    2. 解决svn working copy locked问题
    1. easyui tree 初始化的两种方式
    10. js截取最后一个斜杠后面的字符串
    2. apache整合tomcat部署集群
    1. apache如何启动
  • 原文地址:https://www.cnblogs.com/GKLBB/p/14990217.html
Copyright © 2011-2022 走看看