ReCaptcha - Расширения Chrome Hidding - PullRequest
0 голосов
/ 19 февраля 2019

Слыша, что ReCaptcha может прочитать все расширения (или скрипты tampermonkey), которые кто-то имеет на своем компьютере, есть ли способ избежать этого?Любой тип сценария, фрагмент кода или настройки.

Эта теория была подтверждена: как только я захожу на любой сайт с Chrome Automation Extension, меня сразу же отмечают.Даже если это просто предоставляет API Chrome Options для другой задачи, которая не имеет ничего общего с 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();
  });
}

MANIFEST:

{
  "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>"
  ]
}

1 Ответ

0 голосов
/ 12 марта 2019

Вы можете прочитать много информации о reCaptcha и о том, как его обмануть, из этого PDF-файла. Я не человек: взлом Google reCAPTCHA

Google reCaptcha проверяет вредоносные действия, используя следующие данные:

  • История просмотров
  • БраузерСреда
  • Визуализация холста
  • Разрешение экрана и мышь
  • User-Agent

Если что-то не так (например, версия браузера не соответствуетпользовательский агент или было обнаружено подозрительное перемещение мыши) reCaptcha требует проверки.

PS: На самом деле я думаю, что recaptcha не ищет расширения (также это невозможно, поскольку браузеры не дают разрешения на расширение списка), кромеон может обнаружить, если какое-либо расширение вставило подозрительный код на сайт

Вы также можете проверить де-обфусцированный исходный код reCaptcha здесь .

...