基于浏览器的安全漏洞

‍1.浏览器缓存(可解决)

主要有以下两种缓存属性:

Cache-control: no-cache

no-cache属性表示,浏览器不使用特定的请求-响应缓存信息。浏览器存储缓存信息,而不是从缓存中读取内容,每一次都会向服务器发送请求。换句话来说,缓存只是保留在浏览器中,对于攻击者或者恶意用来来说就十分容易的读取到相关信息。

Cache-control: no-store

no-store属性表示,请求-响应不会被缓存或者存储到浏览器中。

使用HTML meta标签

你还可以使用meta标签实现对缓存的控制,设置如下:

<meta http-equiv=”Cache-Control” content=”no-cache” />
<meta http-equiv=”Cache-Control” content=”no-store” />

2. 浏览器内存中的密码(可解决)

下面是加盐哈希的工作流程:

存储在数据库中的MD5哈希密码。当一个用户请求登录页面时,服务器随机生成一个数,这个数就被称为salt(盐)然后返回给用户的页面。

一个Javascript脚本出现在用户机器上,对用户输入的密码进行MD5计算。接着加盐后再计算哈希值,这个哈希值会发送到服务器,服务器从数据库中选择密码的哈希值结合盐值并计算MD5值。

如果这个值匹配,用户就成功登录。

3. 返回刷新攻击

4. 自动保存

5. 浏览器历史记录

6.传输数据

对内容进行 escape(),encodeURI(),encodeURIComponent()编码。提高安全性




原文地址:https://www.cnblogs.com/blog-index/p/6986029.html