繁体   English   中英

ReCaptcha - Chrome Hidding Extensions

[英]ReCaptcha - Chrome Hidding Extensions

听说ReCaptcha可以读取有人在他的电脑上的所有扩展 (或篡改脚本),有没有办法逃避这个? 任何类型的脚本或一段代码或设置。

这个理论得到了证实:一旦我使用Chrome Automation Extension登录任何网站,我立即被标记。 甚至它只是公开了Chrome选项的API,用于与recaptcha无关的其他任务。 只需使用ReCaptcha加载任何网页(网站)即可触发验证码。

这是background.js,如何将其更改为其他应用程序无法察觉?

// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/*
 * Checks for an extension error that occurred during the asynchronous call.
 * If an error occurs, will invoke the error callback and throw an exception.
 *
 * @param {function(!Error)} errCallback The callback to invoke for error
 *     reporting.
 */
function checkForExtensionError(errCallback) {
  if (typeof(chrome.extension.lastError) != 'undefined') {
    var error = new Error(chrome.extension.lastError.message);
    errCallback(error);
    throw error;
  }
}

/**
 * Captures a screenshot of the visible tab.
 *
 * @param {function(string)} callback The callback to invoke with the base64
 *     encoded PNG.
 * @param {function(!Error)} errCallback The callback to invoke for error
 *     reporting.
 */
function captureScreenshot(callback, errCallback) {
  chrome.tabs.captureVisibleTab({format:'png'}, function(dataUrl) {
    if (chrome.extension.lastError &&
        chrome.extension.lastError.message.indexOf('permission') != -1) {
      var error = new Error(chrome.extension.lastError.message);
      error.code = 103;  // kForbidden
      errCallback(error);
      return;
    }
    checkForExtensionError(errCallback);
    var base64 = ';base64,';
    callback(dataUrl.substr(dataUrl.indexOf(base64) + base64.length))
  });
}

/**
 * Launches an app with the specified id.
 *
 * @param {string} id The ID of the app to launch.
 * @param {function()} callback Invoked when the launch event is complete.
 * @param {function(!Error)} errCallback The callback to invoke for error
 *     reporting.
 */
function launchApp(id, callback, errCallback) {
  chrome.management.launchApp(id, function() {
    checkForExtensionError(errCallback);
    callback();
  });
}

表现:

{
  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr+Q7QFcTr4Wmn9sSICKWbxnYLhIM0ERbcapZCDmpAkiBUhOPt+KkYnTdUFl4Kx2xv02MwIowh36Fho9Dhqh7cPWGIPsLHUaJosO6t6oaHxQsMQS/K4MlnP5pNJykExo82DcajSXGV+mIQH3RslxL+XhtmIh2BQLwbizVG0bA+mwIDAQAB",
  "name": "Chrome Automation Extension",
  "version": "1",
  "manifest_version": 2,
  "description": "Exposes extension APIs for automating Chrome",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
     "tabs", "management", "<all_urls>"
  ]
}

你可以阅读很多关于reCaptcha的信息,以及如何从这个pdf中欺骗它。 我不是一个人:打破Google reCAPTCHA

Google reCaptcha使用以下详细信息检查恶意操作:

  • 浏览记录
  • 浏览器环境
  • 画布渲染
  • 屏幕分辨率和鼠标
  • 用户代理

如果出现任何问题(例如:浏览器版本与用户代理不匹配或检测到可疑的鼠标移动),则reCaptcha需要验证。

PS:实际上我认为recaptcha不会寻找扩展(也不可能,因为浏览器不允许列出扩展名),除了它可以检测是否有任何扩展已经向网站注入了可疑代码。

您还可以在此处查看 reCaptcha的去混淆源代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM