企业网站源码自适应,中国域名根服务器,西安培训机构,抖音账号权重查询入口1. 漏洞结果 JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库#xff0c;攻击者就可以利用此漏洞来劫持用户浏览器#xff0c;进行挂马、XSS、Cookie劫持等攻击。 1.1 漏洞扫描截图 1.2 具体…1. 漏洞结果 JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库攻击者就可以利用此漏洞来劫持用户浏览器进行挂马、XSS、Cookie劫持等攻击。 1.1 漏洞扫描截图 1.2 具体漏洞的 js 文件 1.3 参考博客
Vue 项目安全扫描漏洞JS 库版本太低要求升级 YUI过程总结
2. 定位漏洞 博客中提供三个可能存在这个漏洞的框架库。 jqueryjs-cookiejsencrypt。
2.1 开始狡辩 jsencrypt 依赖包最新版本查询 漏洞项目的 jsencrypt 的版本 由于前两个框架项目中没有使用所以直接找第三个证明漏洞项目已经是最新的了而且项目中没有使用 YUI 库。因此可能不是这个库的问题。 2.2 漏洞甩脸 安全扫描在扫描代码里边的确存在这个漏洞 2.3 全局搜索 全项目搜索并未找到该漏洞但是打包后漏洞又是存在的就说明漏洞因该在 jsencrypt 包里。 2.4 找到漏洞代码 可以看到这个代码是存在在 jsencrypt 中的只是是通过 eval 方法执行的哎没想到最新版本还是存在这个漏洞但是加密又要使用不能修改包里的文件。 3. 漏洞分析 YUI 2.8.0至2.9.0中Flash组件基础架构中的跨站脚本XSS漏洞如4.0.9之前的Bugzilla 3.7.x和4.0.x、4.2.4之前的4.1.x和4.2.x以及4.4rc1之前的4.3.x和4.4.x中使用的漏洞允许远程攻击者通过与swfstore.swf相关的向量注入任意web脚本或HTML这与CVE-2010-4209类似。 他的意思就是说 2.9.0 版本中的 Flash组件允许远程攻击者通过与swfstore.swf相关的向量注入任意web脚本或HTML导致的跨站脚本XSS漏洞。
3.1 检查是否使用了 YUI 的 Flash 组件 可以看到代码只使用了 YUI 的 lang.extend 方法并没有 Flash 组件的使用。原理上该项目是不存这个漏洞的那么安全扫描是怎么扫出来存在漏洞的呢 3.2 安全扫描报告 通过报告可以看出他是通过 YUI:2.9.0 这个版本号来得出安全隐患的。 4. 解决办法 通过上边分析首先我们代码中没有使用 YUI 的 Flash 组件所以不存在安扫报告里边的漏洞但是你又高让安全扫描通过而安全扫描是通过 YUI:2.9.0 版本号来确定存在隐患的解决办法删除版本号。 4.1 使用压缩后的文件
// 旧的引入方式
import JSEncrypt from jsencrypt
// 新的引入方式
import JSEncrypt from jsencrypt/bin/jsencrypt.min4.2 删除注释
删除注释vue.config.js 配置代码
chainWebpack(config) {// 删除注释config.optimization.minimizer(terser).tap(args {// 直接修改 terserOptions 下的属性值保留原有配置// 这里访问 terserOptions 的时候并没有 output访问不到 output.comments 需要直接赋值args[0].terserOptions.output {comments: false,}return args})
}在漏洞项目运行报错
5. Vue项目WebPack打包删除注释和console
5.1 安装 uglifyjs-webpack-plugin
npm install uglifyjs-webpack-plugin -D5.2 vue.config.js 配置
const UglifyJsPlugin require(uglifyjs-webpack-plugin)module.exports {configureWebpack: {optimization: {minimizer: [new UglifyJsPlugin({uglifyOptions: {// 删除注释output: {comments: false},// 删除console debugger 删除警告compress: {drop_console: true, //consoledrop_debugger: false,pure_funcs: [console.log] //移除console}}})]}}
}6. 总结
最后通过安全扫描其实这个漏洞只是存在隐患项目中并没有使用 YUI 的 Flash 组件因此是不存在这个漏洞但是项目要通过安全扫描没有办法只能根据扫描工具的定位漏洞方法去解决。这个过程都是根据已存在的博客去依次排查解决所以这些问题遇到了就只能看能不能在网上找到解决办法下一次一个安扫问题估计不一定能解决。