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.字典制作也是一门学问,我只是到互联网上随便找的,字典内容杂七杂八,失败也是必然的。


  • 相关阅读:
    input上传mp3格式文件,预览并且获取时间
    jquery 页面input上传图后显示
    将String类型的字符串拼接成以逗号分隔的字符输出
    layui select多选下拉显示 以及回显
    input输入框只能输入数字和英文逗号
    电脑开机右下角有小金锁,并且提示一分钟后重启电脑
    修改tomcat控制台的标题
    VC防止程序被多次运行 互斥体方法
    VC中遍历进程并获取进程信息
    VC中遍历目标进程中的模块
  • 原文地址:https://www.cnblogs.com/GKLBB/p/14990217.html
Copyright © 2011-2022 走看看