问题源自知乎—浪子神剑老师的前端面试每日 3+1,我仅在此为大家提供解题方案以及思路,在此感谢浪子神剑老师。
-
[html] html5应该注意哪些安全的问题?
-
[css] 如何取消从父级元素继承下来的CSS样式呢?
-
[js] axios为什么能在浏览器中环境运行又能在node中环境运行?
问题一:[html] html5应该注意哪些安全的问题?
为此,我研究了工业和信息化部信息通信安全研究所封莎老师的一篇论文。
其中问题一:客户端存储安全
在这个点上,老师提到的是采用LocalStorage时遇到的安全问题。
- LocalStorage没有任何保护机制,一旦有XSS漏洞,使用LocalStorage存储的数据很容易被攻击者获取
- LocalStorage采用明文存储,如果用户不主动删除,数据将永久存在,且本地存储容易受到DNS欺骗攻击。
- LocalStorage存储没有路径概念,容易受到跨目录攻击。
- 由于localStorage的存储空间多达5M,攻击者可以把蠕虫的shellcode代码存储在本地。
其中问题二:跨域通信安全
HTML5为实现跨源资源共享,提供了一种跨域通信机制以绕过同源政策。这一机制将允许不同域的服务器在Web 浏览器的iframe间进行通信。这样一来,攻击者就能够滥用这个功能以获得敏感数据。
其中问题三:WebSocket安全
首先攻击者可通过滥用WebSocket进行秘密的后门通信。此外,攻击者还可以直接利用浏览器对受害者的内部网络进行端口扫描。虽然除非目标网站有特别的允许,不然并不能接收到来自任意端口连接的回应,但是攻击者可以通过滥用WebSocket进行秘密的后门通信。
其中问题四:新标签安全
新标签的安全性没有经过验证,可能存在已知或未知的各种安全漏洞。
其中问题五:用户位置信息安全
地理定位Geolocation API是HTML5新功能中最受关注的一个,因为安全和隐私的考虑,网站必须先得到用户的批准,随后才能获得位置信息。然而这些需要用户作决定的安全措施仍然存在安全隐患,因为一旦有了授权,网站不仅可以知道用户的位置,而且还可以在用户移动时对其进行实时追踪。如果网页中存在攻击者的劫持代码,那么用户的地理位置信息就会被攻击者获取。