[TOC]
几种常见的web安全问题及解决方法。
- 同源策略
- XSS
- CSRF
- SQL注入
- 点击劫持
- window.opener安全问题
-
同源策略
如果两个URL的协议,域名和端口号都相同,我们就称为这两个URL同源
同源策略限制了来自不同源的js对当前dom对象读写操作。
- 同源策略限制了不同源站点读取当前站点 cookie indexDB localStorage等数据。
同源策略限制了通过XMLHttpRequest等方式将站点的数据发送给不同站点。
解决同源策略的方法
跨文档消息机制: 可以通过window.postMessage的js接口来和不同源的dom进行通信。
- 跨域资源共享(CORS):跨域资源在服务器设置允许跨域,就可以进行跨域访问控制,从而使跨域数据得以安全进行。
内容安全策略(CSP):主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 js css img等) 非白名单的内容无法正常执行。
XSS 跨站脚本攻击(Cross Site Script)
存储型XSS攻击
利用漏洞提交恶意 JavaScript 代码,比如在input, textarea等所有可能输入文本信息的区域,输入等,提交后信息会存在服务器中,当用户再次打开网站请求到相应的数据,打开页面,恶意脚本就会将用户的 Cookie 信息等数据上传到黑客服务器。
反射型XS攻击
用户将一段含有恶意代码的请求提交给 Web 服务器,Web 服务器接收到请求时,又将恶意代码反射给了浏览器端,这就是反射型 XSS 攻击。
在现实生活中,黑客经常会通过 QQ 群或者邮件等渠道诱导用户去点击这些恶意链接,所以对于一些链接我们一定要慎之又慎。
http://localhost:3000/?xss=