美文网首页
验证码识别工具的使用

验证码识别工具的使用

作者: migrate_ | 来源:发表于2021-11-26 09:08 被阅读0次

    遵纪守法

    任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益

    验证码识别

    • 偶然间发现一款可以识别验证码的工具,配合burpsuit有奇效

    需要3款工具配合

    1. https://github.com/smxiazi/NEW_xp_CAPTCHA
    2. 暴力猴(chrome 插件)
    3. 验证码识别端
    1.jpg 2.jpg

    使用方法

    • 首先chrome 安装完插件并创建脚本(脚本的内容为下边的内容,ip改成电脑本地IP地址,端口为验证码识别端口)
    // ==UserScript==
    // @name        自动输入简单验证码
    // @namespace   Violentmonkey Scripts
    // @match       *://*/*
    // @grant        GM_xmlhttpRequest
    // @version     1.0
    // @author      顾北
    // @description 2021/7/2下午4:08:51
    // ==/UserScript==
    
    //这里是填写验证码
    function yzm(s){
      let form = document.getElementsByTagName('input');
    for (let i = 0; i < form.length; i++) {
    if (form[i].name=="seccodeverify" ) {
          form[i].value = s
    
    
      }else  if (form[i].type == 'password'){
        
        c = i+1
        form[c].value = s
           console.log("写入验证码");
    
      }
    };
     
    }
    
    function sleep (time) {
     return new Promise((resolve) => setTimeout(resolve, time));
    } 
    
    function checkPictureName(str)
            {
                var strRegex = "(.jpg|.png|.jpeg|.gif|.ico|.svg|==)$"; //用于验证图片扩展名的正则表达式
                var re= new RegExp(strRegex);
                if (re.test(str.toLowerCase())){
                  return "s"
                
                } else{
                    return str;
                }
            }
    
    sleep(700).then(() => {
      var img="";
    var arrImg = document.images;
    for (let i = 0; i < arrImg.length; i++){
      let url=arrImg[i].src
    
      let ss=checkPictureName(url)
      
      if (ss =="s"){
        
      } else{
        
              img = ss
    
      }
    }
    var dd = document.images;
    for (let i = 0; i < dd.length; i++){
    
                            if (dd[i].src.includes(img)) { 
                                console.log("获取唯一验证码链接成功");
    
    
                                dd[i].setAttribute("crossOrigin",'Anonymous');// 设置允许跨域
                              img = dd[i];
                              img.onload = function(){
                                  var canvas = document.createElement("canvas");
                              canvas.width = img.width;
                              canvas.height = img.height;
                              var ctx = canvas.getContext("2d");
                                ctx.drawImage(arrImg[i], 0, 0, arrImg[i].width, arrImg[i].height);
                                var ext = arrImg[i].src.substring(arrImg[i].src.lastIndexOf(".") + 1).toLowerCase();
                                var dataURL = canvas.toDataURL("image/" + ext)
                              // ctx.drawImage(img, 0, 0, img.width, img.height);
                              // var dataURL = canvas.toDataURL("image/png");     
                                // var ss= dataURL
    
                                console.log(dataURL)
    
    //这里就是发送到本地api 接口的代码,如果需要对接打码按照类似的格式修改
        GM_xmlhttpRequest({
                 url: 'http://192.168.66.93:1111/api',
                 method: 'POST',
                 headers: {'Content-Type': 'application/x-www-form-urlencoded'},
                  data:'url='+dataURL,
                 responseType: "text",
                 onload: obj => {
                     var data=obj.responseText;
                   yzm(data)
                    console.log(data);
    
                     
                    }
                 })
                              }
                             
                                }
                            };
    
     } )
    
    3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg
    • 第一位还是加载字典
    • 第二位选择插件
    9.jpg 10.jpg

    全部配置完成就开始

    11.jpg

    相关文章

      网友评论

          本文标题:验证码识别工具的使用

          本文链接:https://www.haomeiwen.com/subject/usetxrtx.html