反射型XSS
反射型XSS漏洞又称非持久型XSS漏洞,这种攻击方式往往是一次性的。与服务端交互,但是交互的数据一般不会被存在数据库中,一次性的,所见即所得。一般出现在查询类的页面。
攻击方式:攻击者通过发送电子邮件等方式将包含XSS代码的恶意链接发送给目标用户。当目标用户访问该链接时,服务器会接受该目标用户的请求并进行处理,然后服务器把带有XSS代码的数据发送给目标用户的浏览器,浏览器解析了这段带有XSS代码的恶意脚本后,就会触发XSS 漏洞。
存储型XSS
又称持久性XSS漏洞,其攻击脚本将被永久的存放在目标服务器的数据库或者文件中,具有很高的隐蔽性。
攻击方式:这种攻击多见于论坛、博客和留言板,攻击者在发帖的过程中,将恶意脚本连同正常信息一起注入帖子的内容中。随着帖子被服务器存储下来,恶意脚本也永远地被存放在服务器的后端存储器中。当其他用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中得到执行。
例如,攻击者在留言板中加入一下代码:
<script>alert(/hacker by hacker/)</script>)
DOM型XSS
DOM(Document Object Model,文档对象模型)使用DOM语句动态访问和更新文档的内容、结构及样式。
DOM型漏洞其实是一种特殊的反射型XSS 漏洞,它是基于DOM文档对象模型的一种漏洞。
domxss 通过js代码操作dom文档对象模型是的漏洞一般不与数据库进行交互
攻击方式:用户请求一个经过专门设计的URL,它由攻击者提交,而且其中包含XSS代码。服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DOM 就会处理XSS代码,导致存在XSS漏洞
XSS漏洞简介:
XSS属于客户端攻击,受害者最终是用户。攻击代码一般都是前端代码,JS代码加工到html文件中,发送到浏览器中被当做代码执行。
跨站脚本,又称跨站脚本攻击,是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。它允许恶意用户将代码注入到网页,其他用户在浏览网页时就会收到影响。恶意用户利用XSS漏洞攻击成功后,可以得到被攻击者的cookie等信息。
XSS漏洞出现的原因:
程序对输入和输出控制不够严格,导致脚本输入后,在输出到前端时被浏览器当做有效代码解析执行从而产生危害。
XSS的危害
1.首先对于那些半年没有更新的小企业网站来说,发生xss漏洞几乎没有什么用。一般在各类的社交平台。邮件系统,开源流行的web应用,BBS,微博等场景中,造成的危害却十分强大。
2.劫持用户cookie是最常见的跨站攻击形式,通过在网页中写入并执行脚本文件(多数情况下是JavaScript脚本代码),劫持用户浏览器,将用户当前使用的seeionID信息发送至攻击者控制的网站或服务器中。
3.“框架钓鱼”。利用js脚本的基本功能之一:操作网页中的DOM树结构和内容,在网页中通过js脚本,生成虚假的页面,欺骗用户执行操作,而用户所有的输入内容都会被发送到攻击者的浏览器上。
4.挂马(水坑攻击)
5.有局限性的键盘记录。
如何判断是否可以用XSS漏洞:
输入<script>alter(123);</script>
,看是否会弹出弹框,并且看是否可以控制变量输出,也就是写出的东西是否可以在网页中展示