XSS初探
前言
跨站脚本(cross site script)为了避免与样式css混淆,所以简称为XSS。
XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。那么什么是XSS呢?
XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。
从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
一、XSS跨站脚本实例
在学习的过程中对于XSS的学习需要掌握两种语种:JAVAScript
和HTML
为了更好的了解XSS我们进行一下实例:
打开之后
在这段HTML代码中,包含了一个JAVAScript语句块,使用内置的alert()函数来打开消息框中内容,保存为HTML文件,打开后就会出现这个。我们来看一下XSS攻击的解释:
XSS弹出恶意警告框:
1 |
|
使网页不停刷新:
1 |
|
嵌入其他网站链接:
1 |
|
二 、原理复现
index.php文件里写入如下代码:
随便输入:2342131
查看页面源代码
可以发现我们输入的数字被完整的输出了,那么当我们使用弹窗测试是否存在xss漏洞输入:<script>alert('xss')</script>
那么<script>alert('xss')</script>
应该也会出现在13行的<br> <br>
中,let we to try!
成功弹窗基本上就可以确定存在xss漏洞。
查看页面的源代码
三、XSS分类
- 反射型xss攻击
- 存贮型xss攻击
- DOMBasedXSS(基于dom的跨站点脚本攻击)
具体解释在这里就不说明了今天我们着重实操一下反射型
反射型:
又称为非持久性跨站点脚本攻击,它是最常见的类型的XSS。漏洞产生的原因是攻击者注入的数据反映在响应中。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击)。
下面我们尝试注入Js语句:
1 |
|
注入成功
其实在使用中弹窗的作用是为了测试xss的存在性和使用性。
总结
怎么讲,XSS学起来很不简单,并不是一两句话就可以讲明白,需要不断的进行学习以及尝试,对于我学起来确实很吃力,但也只能一步一步去看去走了。
对了,学习XSS同样需要掌握它的语言可以去看看这里,同样JAVAScript、HTML、PHP也需要不断学习。
今天这篇文章写的很糙,这也说明我了解的太少,随着学习的深入希望也能总结的更加清晰吧。