Я новичок в расширениях Chrome, но пытаюсь настроить детектор XSS. У меня есть возможность тестировать GET и POST по отдельности, поэтому сейчас я просто запрограммировал GET. Расширение загружается, но когда я тестирую с известного сайта, расширение ничего не делает. Также настройте консольный журнал, который ничего не получает, так что я знаю, что расширение просто не подключено правильно. Любая помощь о том, почему это не работает, будет высоко ценится.
Я попробовал content_scripts в manifest.json, но затем получил «Uncaught TypeError: Невозможно прочитать свойство« onBeforeRequest »из undefined» в xss_detector.js
manifest.json
{
"name": "XSS Detector",
"version": "1.0",
"manifest_version": 2,
"description": "xss detector and frame buster",
"permissions": ["tabs", "notifications", "<all_urls>", "webRequest"
"webRequestBlocking"],
"background": {
"scripts": ["xss_detector.js"],
"persistent": true
},
"browser_action": {
"default_title": "Detects and Busts!",
"default_icon": "icon.png"
}
}
xss_detector.js
chrome.webRequest.onBeforeRequest.addListener(function(details) {
const start_script_re = /.*(<div>\s*)?<script>.*<\/script>
(<\/div>\s*?.*/mi;
const end_script_re = null;
if (details.method === "GET") {
console.log("http get request");
if (decodeURI(details.url).match(start_script_re)) {
return {redirectURL:"javascript:"};
}
} else if (details.method === "POST") {
}
}, {
urls: ["<all_urls>"]
}, ["blocking", "requestBody"]);
manifest.json
{
"name": "XSS Detector",
"version": "1.0",
"manifest_version": 2,
"description": "xss detector and frame buster",
"permissions": ["tabs", "notifications", "<all_urls>", "webRequest", "webRequestBlocking"],
"background": {
"scripts": ["xss_detector.js"],
"persistent": true
},
"browser_action": {
"default_title": "Detects and Busts!",
"default_icon": "icon.png"
}
}