Обнаружение кода в этом сервисном работнике и iframe. Что такое фрейм? - PullRequest
0 голосов
/ 11 апреля 2019

Добрый вечер всем.Я заранее извиняюсь, если эта сводка немного длиннее, чем большинство сообщений, но здесь она идет.

У моей учетной записи chrome / google возникли проблемы с синхронизацией, подключением к службам (аналитика> twitter analytics / youbtube и т. Д.),и некоторые другие странные поведения.Насколько я могу судить, все кажется хорошим, но единственное, что продолжает сохраняться при перезагрузке и чистых установках, это сервисный работник.

Я немного покопался и обнаружил, что, похоже, (из моей профессиональной неподготовленностиглаз, все, что я знаю до сих пор, самообучается, поэтому мои знания иногда ограничены или шатки) загрузка и установка «дополнительного контента» или объединение «дополнительных файлов», затем проверка кеша и настройка прослушивателей событий, что является цельюСлужебный работник, если я не ошибаюсь?

Это, однако, может вызвать сетевую ошибку и даже отредактировать мой реестр, чтобы внести в черный список URL, который каким-то образом сумел внести в черный список мое собственное происхождение.(Я знаю, что мне нужно отредактировать групповую политику, чтобы отменить это, но я использую WIN10 Home, так что, если кто-нибудь мог бы указать, где я могу найти совет по исправлению информации о политике через реестр, это было бы очень полезно!)

Я не только нашел это дурачество, каким оно может показаться, но я только что заметил источник iframe, который выглядит странно, но я должен признать, я еще не слишком хорошо знаком с iframe.Так что я бы спросил, кто они?Какую цель они служат?Могут ли iframes использоваться для компрометации, безопасности, сайта / аккаунта / человека, и если да, то как я смогу обнаружить / защитить от такого iframe?Обычно ли фреймы появляются на домашних страницах / в поиске Google / в настройках / где-нибудь?И, наконец, имеют ли iframes обычно типы документов, такие как html, и содержат JS?

Немного затянуто, но я надеюсь, что пробудил ваш интерес!Спасибо, заранее, я опубликую то, что я собрал ниже.

- Сброс настроек Chrome по умолчанию - Чистая установка Windows и браузера Chrome - Очистка кеша, данных сайта и временных папок в Windows - Консультируемый Microsoft иGoogle

var EXTRA_FILES = ["/xjs/_/js/k=xjs.ntp.en_US.1cTcPGECf3w.O/m=jsa,ntp,d,csi/am=AABgA2BXEyY/rt=j/d=1/rs=ACT90oFx_YND15s54bVx_g4cq2JCyTGAcQ",
];
var CHECKSUM = "2y7yvr";

var BLACKLIST = [
  '/gen_204\?',
  '/async/',
  '/complete/',
];

var FILES = [
          '/'
].concat(EXTRA_FILES || []);

var CACHENAME = 'newtab-static-' + CHECKSUM;

self.addEventListener('install', function(event) {
  event.waitUntil(caches.open(CACHENAME).then(function(cache) {
    return cache.addAll(FILES);
  }));
});

 self.addEventListener('activate', function(event) {
    return event.waitUntil(caches.keys().then(function(keys) {
    return Promise.all(keys.map(function(k) {
      if (k != CACHENAME && k.indexOf('newtab-static-') == 0) {
        return caches.delete(k);
      } else {
        return Promise.resolve();
      }
    }));
  }));
});

 self.addEventListener('fetch', function(event) {
  event.respondWith(
      caches.match(event.request).then(function(response) {
        if (response) {
                    return response;
        }

    return fetch(event.request).then(function(response) {
          var shouldCache = response.ok;

          for (var i = 0; i < BLACKLIST.length; ++i) {
            var b = new RegExp(BLACKLIST[i]);
            if (b.test(event.request.url)) {
              shouldCache = false;
              break;
            }
          }

          if (event.request.method == 'POST') {
            shouldCache = false;
          }

                    if (shouldCache) {
            return caches.open(CACHENAME).then(function(cache) {
              cache.put(event.request, response.clone());
              return response;
            });
          } else {
            return response;
          }
        });
      })
  );
});



if (!Cache.prototype.add) {

  Cache.prototype.add = function add(request) {
        return this.addAll([request]);
  };
}

if (!Cache.prototype.addAll) {

  Cache.prototype.addAll = function addAll(requests) {
        var cache = this;

        function NetworkError(message) {
      this.name = 'NetworkError';
      this.code = 19;
      this.message = message;
    }
    NetworkError.prototype = Object.create(Error.prototype);

    return Promise.resolve()
        .then(function() {
          if (arguments.length < 1) throw new TypeError();

          requests = requests.map(function(request) {
            if (request instanceof Request) {
              return request;
            } else {
              return String(request);              }
          });

          return Promise.all(requests.map(function(request) {
            if (typeof request === 'string') {
              request = new Request(request);
            }

            return fetch(request.clone());
          }));
        })
        .then(function(responses) {
                              return Promise.all(responses.map(function(response, i) {
            return cache.put(requests[i], response);
          }));
        })
        .then(function() {
          return undefined;
        });
  };
}

if (!CacheStorage.prototype.match) {

  CacheStorage.prototype.match = function match(request, opts) {
    var caches = this;
    return caches.keys().then(function(cacheNames) {
      var match;
      return cacheNames.reduce(function(chain, cacheName) {
        return chain.then(function() {
          return match || caches.open(cacheName).then(function(cache) {
            return cache.match(request, opts);
          }).then(function(response) {
            match = response;
            return match;
          });
        });
      }, Promise.resolve());
    });
  };
}
**Iframe**

 <iframe src="https://clients5.google.com/pagead/drt/dn/" aria-hidden="true" style="display: none;">
 <!doctype html>
 <html lang="en"><head>
    <script src="dn.js"></script>
   </head>
   <body onload="javascript:gbar._drt.dn()">

 </body></html></iframe>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...