// ==UserScript== // @name JSHack // @namespace http://tampermonkey.net/ // @version 1.1 // @description 推荐此脚本和bp插件HaE、CaA联动,可快速检测前端敏感信息泄露 // @description v1.1:自动将网站中的js资源加载方式修改为preload,以便检测潜在的安全问题,并统计prefetch的js数量。 // @description 持续更新中,将继续添加新功能 // @author Qin // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; // 定义一个变量来存储prefetch的js数量 let prefetchJsCount = 0; // 等待DOM加载完成 window.addEventListener('load', function() { console.log('%c【JSHack】开始修改HTML中的js和css加载方式', 'color: blue; font-weight: bold;'); // 获取所有的link标签 const links = document.getElementsByTagName('link'); for (let link of links) { // 检查rel属性是否为prefetch if (link.getAttribute('rel') === 'prefetch') { // 修改rel属性为preload link.setAttribute('rel', 'preload'); // 根据文件路径判断是css还是js,并设置as属性 if (link.getAttribute('href').endsWith('.css')) { link.setAttribute('as', 'style'); } else if (link.getAttribute('href').endsWith('.js')) { link.setAttribute('as', 'script'); prefetchJsCount++; // 增加prefetch的js计数 } console.log(`%c【JSHack】修改了链接:${link.getAttribute('href')}`, 'color: green;'); } } // 输出prefetch的js数量 console.log(`%c【JSHack】在当前网站检测到${prefetchJsCount}个prefetch的js资源`, 'color: orange; font-weight: bold;'); console.log('%c【JSHack】所有匹配的链接已修改完成', 'color: blue; font-weight: bold;'); // 祝福 console.log('%c【JSHack】祝您发现更多漏洞,为网络安全贡献力量!', 'color: red; font-weight: bold;'); // 增加的诗句 console.log('%c【JSHack】人海浮沉几万里,此心安处是吾乡。', 'color: purple; font-style: italic;'); }); })();