Обход стандартного Frame-Busting с расширением Google Chrome - PullRequest
0 голосов
/ 03 февраля 2019

Отказ от ответственности: это домашнее задание.

Я пытаюсь написать расширение Chrome, которое обходит стандартный код очистки кадра, показанный здесь:

if(top!= self){
top[location]= self[location];
}

Я понимаю, чтоJS инъекция это то, что мне нужно здесь.Я пытался использовать Chrome content_scripts, чтобы сделать это.Я не знаю, достаточно ли оставить мой JS-скрипт, способный к инъекции, или мне нужно выборочно внедрить его только тогда, когда на странице присутствует код с перебором кадров.

manifest.json

...
"content_scripts": [
   {
     "matches": ["<all_urls>"],
     "js": ["bust.js"],
     "run_at": "document_start",
     "all_frames": true
   }
 ],
...

bust.js

console.log("It ran.");
var injected= document.createElement("script");
injected.textContent = "if (top !== self) {window.self = window.top;}";
document.documentElement.appendChild(injected);

Однако на самом деле ничего не происходит, когда я это делаю.Я обновляю свою тестовую страницу (в коде HTML которой есть код перебора кадров), и мой console.log даже не запускается.Я уверен, что просто упускаю из виду что-то глупое, но не похоже, что JS даже вводится с самого начала, не говоря уже о корректной работе.

...