XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
XSS 攻击原理主要包括三个部分:
- 攻击者对某含有漏洞的服务器发起 XSS 攻击(注入 JS 代码)。
- 诱使受害者打开受到攻击的服务器 URL(邮件、留言等,此步骤可选项)。
- 受害者在 Web 浏览器中打开 URL,恶意脚本执行。
简单理解:
就是某个网站的一个网页里面有填充表单内容,黑客填充了一些恶意代码进去被数据库保存了,下次其他的用户再点击这个页面的话,网站就解析那段恶意的代码,用户就被攻击了。
xss攻击类型分为三种:
- 反射型XSS ,经过后端,不经过数据库
- 存储型,经过后端,经过数据库
- DOM,不经过后端,是基于文档对象模型Document Objeet Model,DOM)的一种漏洞,dom - xss是通过url传入参数去控制触发的。
重点说明:
反射型XSS和DOM XSS这两个都需要诱惑其他的用户去点击有带恶意代码url才能实现攻击的,存储型的就不需要,因为它已经保存到数据库,不需在url里面插入什么代码,而是数据库直接解析了恶意代码了。
参考链接:
https://blog.csdn.net/u011781521/article/details/53894399
https://www.cnblogs.com/anbus/p/9855942.html