跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的
(取自百度)
首先介绍JS DOM操作
1.如何获取一个HTML元素的内容
如果要修改元素内容也可也
可以参照这个网站 :https://www.cnblogs.com/kissdodog/archive/2012/12/25/2833213.html 里面非常详细的介绍了获取HTML元素的方法
这里只是其中一种。
2.创建动态效果
这是获取当前时间的方法
现在来介绍BOM操作
1.
2.获取浏览器的cookie及浏览器信息和获取/控制页面的信息
。
*接下来我们讲XSS攻击的三种形式
XSS有三类:反射型XSS(非持久型)、存储型XSS(持久型)和DOM XSS。
*,需要注意的是
实施XSS攻击需要具备两个条件:
一、需要向web页面注入恶意代码;
二、这些恶意代码能够被浏览器成功的执行。
1、反射型XSS
XSS反射型攻击,恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS
2、存储型XSS
存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码
最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当做正常的HTML与Js解析执行,于是触发了XSS攻击。
这种攻击具有较强的稳定性和持久性,比较常见场景是比如:某CRM系统的客户投诉功能上存在XSS存储型漏洞,黑客提交了恶意攻击代码,当系统管理员查看投诉信息时恶意代码执行,窃取了客户的资料,然而管理员毫不知情,这就是典型的XSS存储型攻击
3、DOM XSS
DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。。
https://blog.csdn.net/qw_xingzhe/article/details/80712840这个网址也许会有所帮助。