美文网首页程序员
【知识】浅谈xss攻击及如何简单的预防

【知识】浅谈xss攻击及如何简单的预防

作者: 小黑马i | 来源:发表于2019-08-15 12:14 被阅读17次

    什么是xss攻击?

          XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

            人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。

    主要危害

      盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

      控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

      盗窃企业重要的具有商业价值的资料

      非法转账

      强制发送电子邮件

      网站挂马

      控制受害者机器向其它网站发起攻击

    攻击方式

    1、反射型

      反射型XSS,也叫非持久型XSS,是指发生请求时,XSS代码出现在请求URL中,作为参数提交到服务器,服务器解析并响应。响应结果中包含XSS代码,最后浏览器解析并执行。从概念上可以看出,反射型XSS代码是首先出现在URL中的,然后需要服务端解析,最后需要浏览器解析之后XSS代码才能够攻击。

    2、存储型

      存储型XSS,也叫持久型XSS,主要是将XSS代码发送到服务器(不管是数据库、内存还是文件系统等。),然后在下次请求页面的时候就不用带上XSS代码了。最典型的就是留言板XSS。用户提交了一条包含XSS代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有XSS代码,就当做正常的HTML和JS解析执行。XSS攻击就发生了。

    如何防范XSS攻击

          在源头控制,把输入的一些不合法的东西都过滤掉,从而保证安全性。如移除用户提交的的DOM属性如onerror,移除用户上传的Style节点,<iframe>, <script>,<a>节点等

          如果源头没控制好,就得后期补救了:像一些常见的符号,如<>在输出的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果。例如:对<>做编码如:"<"用:"<",">"用:">"来代替。

    还有一些防范的方法在百度都是能搜索到的,你想防住他,你就得去了解他

    相关文章

      网友评论

        本文标题:【知识】浅谈xss攻击及如何简单的预防

        本文链接:https://www.haomeiwen.com/subject/rvtzjctx.html