[TOC]

Web 安全总结(面试必备良药)

几种常见的web安全问题及解决方法。

  1. 同源策略
  2. XSS
  3. CSRF
  4. SQL注入
  5. 点击劫持
  6. window.opener安全问题
  7. 文件上传漏洞

    同源策略

    如果两个URL的协议,域名和端口号都相同,我们就称为这两个URL同源

  8. 同源策略限制了来自不同源的js对当前dom对象读写操作。

  9. 同源策略限制了不同源站点读取当前站点 cookie indexDB localStorage等数据。
  10. 同源策略限制了通过XMLHttpRequest等方式将站点的数据发送给不同站点。

    解决同源策略的方法

  11. 跨文档消息机制: 可以通过window.postMessage的js接口来和不同源的dom进行通信。

  12. 跨域资源共享(CORS):跨域资源在服务器设置允许跨域,就可以进行跨域访问控制,从而使跨域数据得以安全进行。
  13. 内容安全策略(CSP):主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 js css img等) 非白名单的内容无法正常执行。

    XSS 跨站脚本攻击(Cross Site Script)

    存储型XSS攻击

    利用漏洞提交恶意 JavaScript 代码,比如在input, textarea等所有可能输入文本信息的区域,输入等,提交后信息会存在服务器中,当用户再次打开网站请求到相应的数据,打开页面,恶意脚本就会将用户的 Cookie 信息等数据上传到黑客服务器。

    反射型XS攻击

    用户将一段含有恶意代码的请求提交给 Web 服务器,Web 服务器接收到请求时,又将恶意代码反射给了浏览器端,这就是反射型 XSS 攻击。
    在现实生活中,黑客经常会通过 QQ 群或者邮件等渠道诱导用户去点击这些恶意链接,所以对于一些链接我们一定要慎之又慎。
    http://localhost:3000/?xss=