Web开发的安全之旅之XSS | 青训营笔记

65 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第6天

9.jpg

随着科技的发展,web业务的迅速发展也引起了黑客们的关注,这也使web的安全受到了威胁。所以安全问题“很常见”,而这也会危害到

  • 用户
  • 公司
  • 程序员

一、重点内容

认识XSS

二、详细知识点

攻击

XSS概念

XSS全称是Cross Site Scripting,中文名叫做跨站脚本攻击,本来它的缩写应该是CSS,但是会和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,所以将跨站脚本攻击缩写改为XSS。

XSS原理

XSS的原理是黑客在 Web 页面里插入恶意可执行网页脚本代码,当用户浏览这个网页的时侯,里面的脚本代码会被执行,从而可以达到黑客盗取用户信息或其他侵犯用户安全隐私的目的。

XSS特点

  • 通常从UI上感知(暗地执行脚本)
  • 窃取用户信息(cookie/token)
  • 绘制UI(例如弹窗),诱骗用户点击或者填写表单

攻击类型

反射型XSS(非持久型XSS)

攻击方式具有一次性并且只在点击链接的时候才产生作用。(最普遍的)

特点:

  • 即时性。直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,拿到用户隐私数据;
  • 黑客需要诱骗点击;
  • 反馈率低,所以较难发现和响应修复;
  • 盗取用户敏感保密信息。

存储型XSS(持久型XSS)

攻击脚本将被永久地存放在目标服务器端中,下次请求目标页面时不用再提交XSS代码。(最直接的)

特点:

  • 持久性,植入在数据库中;
  • 伤害广泛;
  • 盗取用户敏感私密信息。

DOM型XSS

类似存储型 XSS,但DOM型XSS则是本地更新DOM时导致了恶意脚本执行。

预防XSS攻击

  • encoding(编码)
  • validation(验证)
  • CSP
  • 永远不信任用户的提交内容
  • 不要将用户提交内容直接转换成DOM

三、应用参考

XSS攻击_百度百科 (baidu.com)

本文若有不足,欢迎纠正。