目录
一、XSS概述
XSS跨站脚本(Cross-Site Script,XSS)自1996年诞生以来,如今已经历了十多年的演化。由于和另一种网页技术-层叠样式表(Cascading Style Sheets,CSS)的缩写一样,为了防止混淆,故把原本的CSS简称为XSS。在各种WEB应用安全漏洞中,XSS一直被OWASP(open web application security project) 评为十大应用安全漏洞之一。
XSS最大的特点就是能够注入恶意的HTML/JavaScritp代码到用户浏览的页面上,从而达到劫持用户会话的目的。究其原因,是由于web应用程序对用户的输入过滤不严造成的,当用户浏览带有恶意代码的网页时,就会执行其中的恶意代码。由于HTML代码和客户端JavaScript脚本能够在受害者主机上的浏览器任意执行,这样等同于完全控制了WEB客户端。在这个基础上黑客可以轻易的发起cookie资料窃取,会话劫持,钓鱼欺骗等攻击手段。
目前,也有黑客把XSS当做新型的“缓冲区溢出攻击”,而JavaScript也成为了是新型的shellcode。2011年6月份,新浪微博爆发了XSS蠕虫攻击,仅持续16分钟,感染用户近33000个,危害十分严重。
恶意脚本的形式:
l利用XSS弹警告窗:
<iframe src=http://www.baidu.com width=1000 height=1000></iframe>
l获取cookie值:
<meta http-equiv='refresh' content="1;">
二、了解HTML/JS
在PhpStudy2018\PHPTutorial\WWW路径下新建XSS文件夹,新建一个文本文档名字为1,后缀修改为.html
写入相关HTML
查看网页
增加<script></script>标签
查看效果
再次修改源代码
查看效果
这说明在网页中JS标签中是可以做动态代码运算的,这为我们注入HTML代码提供了可乘之机。
在页面中F12,添加相关内容
查看效果
这说明js是可以再控制台运行的
三、常见的三种XSS攻击类型
l1.反射型(非持久性):
一般来说这种类型的XSS,需要攻击者提前构造一个恶意链接,来诱使客户点击,比如这样的一段链接:www.abc.com/?params=<script>alert(/xss/)</script>。
反射型XSS,也被称为非持久性XSS,是现在最容易出现的一种