常见web攻击手段之xss攻击 | 青训营笔记 - 掘金

256 阅读2分钟

常见web攻击手段之xss攻击 | 青训营笔记 - 掘金

image.png

这是我参与「第四届青训营」笔记创作活动的第2天。\color{#4169E1}{这是我参与「第四届青训营」笔记创作活动的第2天。}

前言\color{#4169E1}{前言}

随着互联网技术的不断升级,web的功能也越来越强大,技术的升级一直以来都是一把双刃剑,web技术再不断地加强用户的体验的同时,其强大的功能所带来的安全隐患也会随之增加。XSS(跨站脚本攻击)就是一种常见的攻击手段。

XSS是什么\color{#4169E1}{XSS是什么}

XSS利用了网站对用户提交的内容盲目信任或者其他漏洞,通过一些方法注入恶意脚本代到网页。

比如,在提交文本的时候,有人不提交语言文字,而是一段脚本代码

<script>alert("你被耍了!")</script>

那么,脚本语言就会被注入到网页之中,程序原本的意图就会被改变。除非是恶作剧,不然恶意代码中是不仅仅只会有alert("你被耍了!") 的。黑客通过注入的脚本代码可以达到获取用户cookie,劫持流量实现恶意跳转等目的,危害网络安全。

常见的XSS攻击的种类\color{#4169E1}{常见的XSS攻击的种类}

StoredXSS\color{#4169E1}{Stored XSS}

Stored XSS技术使得恶意脚本被存储在数据库之中,一旦用户访问页面读取数据,就会遭受攻击。因为这种攻击会攻击到所有的用户,所以这是危害最大的XSS攻击。

image.png

ReflectedXSS\color{#4169E1}{Reflected XSS}

这种XSS攻击方式不涉及数据库,而是从URL上攻击。

image.png

DOMbasedXSS\color{#4169E1}{DOM—based XSS}

这种XSS攻击利用了DOMapi在浏览器发起和执行攻击,不需要服务器的参与。

image.png

MutationbasedXSS\color{#4169E1}{Mutation-based XSS}

这样的攻击方式比DOM-based更加聪明,它利用了不同浏览器渲染DOM的特性(独特优化),针对不同浏览器会有不同的攻击,这样做可以使过滤工具误判,使得过滤工具失效。

image.png

防范XSS攻击\color{#4169E1}{防范XSS攻击}

对于XSS攻击,现在有这些防范手段

  • 过滤:对于常见的HTML标签进行过滤,使得脚本失效。
  • 编码:可以对常见的符号进行转义编码,这样浏览器就不会对标签进行解释执行,同时也不影响显示效果

总结\color{#4169E1}{总结}

网络安全攻防一直以来是存在于网络信息安全方面的问题,无论是作为用户还是开发者,我们都要重视网络安全问题。作为程序员,我们要了解到,什么样的输入值得我们去信任,我们又要对输入进行什么处理。