Я думаю, что есть две важные причины для обучения взлому: чтобы получить доступ к контенту или чтобы предотвратить доступ злоумышленников к контенту. В этой статье я хочу показать вам, как защитить контент, создав расширение Chrome, которое предупреждает пользователя, если он находится на безопасном сайте для ввода своей информации.

Проблема

Вы когда-нибудь слышали об спуфинге веб-сайтов? В случае, если вы этого не сделали, это акт создания веб-сайта, который выглядит и ощущается как другой. Нетрудно получить исходный код веб-страницы с помощью Chrome или даже использовать инструменты разработчика Chrome, чтобы увидеть сетевые запросы, Javascript и так далее.

Таким образом, причина создания чего-то подобного заключается в краже учетных данных пользователя или кредитных карт. Например, злоумышленник заходит на веб-сайт банка, копирует страницу, а затем создает клон веб-сайта, на котором вы обычно размещаете свои учетные данные. Затем использование фишинга может заставить вас зайти на веб-сайт и в конечном итоге получить вашу информацию.

Есть несколько способов избежать этого, например:

  • Убедитесь, что URL-адрес веб-сайта, на котором вы находитесь, является тем, чему вы доверяете.
  • В URL-адресе указано httpS, а не просто http, поэтому ваши учетные данные не передаются в виде обычного текста.
  • Убедитесь, что вы получаете доступ к веб-сайтам с помощью Google.
  • Посмотрите на значок замка рядом с адресной строкой (слева).

Есть еще несколько, например, проверка качества веб-сайта, но проблема со всеми рекомендациями, которые я могу дать, заключается в том, что они не очень хорошо работают для нетехнических людей. Это трудно объяснить, особенно с пожилыми людьми, поэтому они чаще становятся жертвами этого вида мошенничества.

Решение

Давайте создадим расширение для Chrome, которое позволит вам определять, находитесь ли вы на безопасном веб-сайте. Чтобы создать это расширение Chrome, нам нужно создать всего три файла:

  • manifest.json
  • контент.js
  • фон.js

Я поместил все в папку с именем detector.

Кроме того, нам потребуются два значка, которые будут отображаться, когда вы находитесь на безопасном веб-сайте или нет:

Ваша папка со всем содержимым должна выглядеть так:

Теперь давайте добавим содержимое каждого файла:

Сначала откройте manifest.json и добавьте следующее:

{
    "manifest_version": 2,
    "name": "Domain Safety Checker",
    "description": "Alerts user when accessing a list of domains",
    "version": "1.0",
    "permissions": [
        "tabs",
        "https://*/*"
    ],
    "background": {
        "scripts": [
            "background.js"
        ],
        "persistent": false
    },
    "content_scripts": [{
        "matches": ["<all_urls>"],
        "js": ["content.js"]
    }],
    "browser_action": {
        "default_title": "Domain Safety Checker"
    }
}

В Content.js должно быть следующее:

chrome.runtime.sendMessage({message: 'checkDomain', url: window.location.href});

И, наконец, background.js должен содержать это:

let domainList = ['www.bankofamerica.com','example.com'];

chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.message === 'checkDomain') {
    let url = request.url;
    let domain = url.split('/')[2];
    if (domainList.includes(domain)) {
      chrome.browserAction.setIcon({path: 'icon-green.png', tabId: sender.tab.id});
    } else {
      chrome.browserAction.setIcon({path: 'icon-red.png', tabId: sender.tab.id});
    }
  }
});

Как вы можете видеть на последнем, у вас есть список веб-сайтов, которые вы определяете как «безопасные». В этом примере я добавил два, один для популярного банка, а другой просто для примера точка ком.

Вот и все! Наше расширение готово. Теперь нам просто нужно добавить его в Chrome.

Просто введите в строке URL chrome://extensions/
Вы должны быть в Google Chrome, и в результате вы увидите что-то вроде этого:

Здесь просто нажмите Загрузить распакованное и выберите всю папку с вашим плагином. В нашем случае мы назвали папку detector, просто щелкните ее, а затем нажмите кнопку выбора папки.

Если все прошло правильно, вы увидите плагин в списке расширений:

Убедитесь, что оно активировано, и мы готовы продолжить.
Перед тестированием было бы неплохо закрепить его рядом с адресной строкой в ​​Chrome. Это можно сделать, щелкнув параметр расширения в Chrome, который выглядит как кусочек головоломки:

Когда вы закрепите его, вы увидите расширение. В нашем случае это тот, на который указывает стрелка.

Теперь пришло время протестировать его. Помните, что этот плагин будет отображать зеленый значок, если мы находимся на URL-адресе в нашем массиве domainList. Итак, я начну с сайта medium.com, которого нет в списке:

Пока это работает, теперь давайте попробуем с двумя другими доменами в списке:

Идеальный! это работает с нашими двумя примерами, если вы хотите добавить больше сайтов, вам просто нужно изменить список доменов. Если ваш веб-сайт является общей целью для хакеров, вы можете предложить подобное расширение с помощью Интернет-магазина Chrome или, может быть, вы можете просто установить его в своем браузере, чтобы защитить своих близких от мошенников, поэтому я создал это.