1、什么叫做XSS?
xss(cross site scripting)跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,所以缩写为XSS,恶意攻击者往web页面插入恶意script代码,当用户访问该页面时,嵌入其中的script代码被执行,从而达到恶意攻击用户的目的。
2、XSS类型
(1)反射型XSS
需要欺骗用户点击链接从而触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索界面。
反射型.png
(2)存储型XSS
代码存储在服务器中,如在个人信息或发表文章等地方加入代码,如果没有过滤或者过滤不严,那么这些代码将存储到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗取cookie(DOM型xss包含在存储型XSS当中)。
存储型.png
3、XSS常用payload
能够实现XSS攻击的恶意脚本就是payload;
'><script>alert(1)</script>
='><script>alert(document.cookie)</script>
<script>alert(document.cookie)</script>
<script>alert(vulnerable)</script>
4、XSS的一些特点
(1)XSS是web应用程序上的计算机安全漏洞,也是黑客常用的攻击手段;对于攻击者而言,需要有很好的计算机语言基础,如javascript,html5,ajax,css和其他脚本语言;
(2)XSS产生的主要原因是web浏览器对用户的输入过滤不足;
(3)通过将代码注入到网页,虽然对web服务器没有直接伤害,但它借助网络传播,其危害最终会反馈到服务器;
(4)XSS漏洞如此普遍主要是因为web浏览器本身的设计是不安全的,开发人员在交互过程中的设计阶段忽略了XSS防护,加上大部分人还没认识到XSS的危害和错误地认为XSS就只会在浏览器上弹出一个窗口而已,加上触发跨站脚本的方式简单且众多和web2.0的流行和社交功能的迅猛发展,奠定了XSS发展的基础;
(5)XSS最重要也是最核心的是利用自己构造好的XSS语句,欺骗web应用程序上的过滤器,实现绕过其安全监测,达成向网页中注入javascript等脚本信息的目的,从而导致XSS漏洞在互联网上传播;
(6)要善于利用工具提高效率,要学会利用各种编码方式提高XSS的攻击性和隐蔽性,例如,unicode,escapes,url编码,十六进制,八进制等,同时对于特定情境下也可以利用脚本加密技术实现XSS攻击;
(7)有时候配合CSRF漏洞,将会有意想不到的效果。
5、需要了解的几个概念
(1)shellcode——起初是溢出程序和蠕虫程序的核心,注入目标网页中,使用脚本编写好的代码;
(2)Exploit——完整编写好的漏洞利用工具;
(3)POC(Proof of Concept)——一段证明漏洞存在的程序代码片段;
(4)payload——意思为有效载荷,概念验证,即是漏洞验证脚本,是组成POC和EXP的必要组成部分。
6、XSS危害总结
(1)网络钓鱼,盗取各类用户的账号
(2)窃取用户cookie,获取用户隐私,或者利用用户身份进一步执行操作
(3)劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志等
(4)强制弹出广告页面,刷流量等
(5)进行恶意操作,例如任意篡改页面信息,删除文章等,传播跨站脚本蠕虫,网页挂马等
(6)进行基于大量的客户端攻击,如DDOS攻击
(7)结合其他漏洞,如CSRF漏洞
(8)进一步渗透网站
网友评论