目录
4.SRI (Subresource Integrity) 的检查
1.缺少“X-Content-Type-Options”头
修改nginx.conf配置文件,加上这一句:
add_header X-Content-Type-Options nosniff;
2.缺少“X-XSS-Protection”头
修改nginx.conf配置文件,加上这一句:
add_header X-XSS-Protection "1; mode=block";
3.已解密的登录请求
实际上就是登录的用户密码需要加密传输,进行RSA加密处理:
先安装jsencrypt :npm install jsencrypt --dev
在util里创建文件写上:
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
// 密钥对生成 http://web.chacuo.net/netrsakeypair; 把下面生成的公钥、私钥换成自己生成的即可
const publicKey = '',//生成的公钥
const privateKey='',
// 加密
export function encrypt(txt) {
const encryptor = new JSEncrypt()
encryptor.setPublicKey(publicKey) // 设置公钥
return encryptor.encrypt(txt) // 对数据进行加密
}
// 解密
export function decrypt(txt) {
const encryptor = new JSEncrypt()
encryptor.setPrivateKey(privateKey) // 设置私钥
return encryptor.decrypt(txt) // 对数据进行解密
}
登录页面使用:
import { encrypt, decrypt } from '@/utils/jsencrypt'//rememberMe-password加密
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });//存到cookies时加密
//传数据时加密
let params = {
password: encrypt(this.loginForm.password)
}
//取出时解密
this.loginForm.password: decrypt(password),
4.SRI (Subresource Integrity) 的检查
这一块是查百度的,看到一位大佬的分享:
结合我自己遇到的漏洞:
总结:很有可能是某个文件有问题,不应该从网上去下载,可以将其下载到本地,从本地引入。
5.不安全的第三方链接(target="_blank")
在a标签里添加 rel="nofollow me noopener noreferrer"
6. Vulnerable Component
appscan的提示是:Using obsolete or vulnerable versions leaves your application open to potential security breaches。
意思是:使用过时或易受攻击的版本会使应用程序面临潜在的安全漏洞。
所以出现这个漏洞一般就是你用了比较古老的插件,比如低版本的jquery、common.js等等。
解决方法是:换最新版本的插件
-----持续记录更新中