欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

xss 跨站脚本攻击

程序员文章站 2022-05-18 22:53:58
攻击原理 XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。 xss 与其他的攻击方式相比缺点明显,如下: 1、耗时间 2、有一定几率不成功 3、没有相应的软件来完成自动化攻击 4、前期需要基本的htm ......

攻击原理

xss(cross-site scripting跨域脚本攻击)攻击是最常见的web攻击,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

xss 与其他的攻击方式相比缺点明显,如下:

1、耗时间

2、有一定几率不成功

3、没有相应的软件来完成自动化攻击

4、前期需要基本的html、js功底,后期需要扎实的html、js、actionscript2/3.0等语言的功底

5、是一种被动的攻击手法

6、对website有http-only、crossdomian.xml没有用

但是它的广泛性也让很多相关人员对次偏爱不已,几乎所有的网站都存在xss 漏洞,包括百度,谷歌等大型网站

xss形成原理 

wed 前端代码缺少过滤或过滤不足,从而导致的输出问题

1 <?php
2 $xss=$_get['x'];
3 echo $xss;
4 ?>

执行以上代码,我们可以在网页上得到x 的值

xss 跨站脚本攻击

此时查看源代码,发现我们以get 传过去的x 的值在body 标签直接输出

xss 跨站脚本攻击

那么在这里假设,如果我们在搜索框输入<script>alert(‘xss’)</script>会出现什么呢?按照前面的例子来看这段javascript 代码会嵌入到body 标签输出,然后页面弹出弹框
 
xss 跨站脚本攻击

也就是说我们可以在一些前端代码中嵌入并执行自己构造的一些javascript 代码,从而实现xss 攻击,并且javascript 加载的外部代码文件可以是任意的扩展名,无扩展名也可以,甚至于文件中有javascript代码,代码也会被执行,这也就给了攻击者更加灵活的发挥空间

xss 技术分类

有人将xss攻击分为三种,分别是:

1. reflected xss(基于反射的xss攻击)

2. stored xss(基于存储的xss攻击)

3. dom-based or local xss(基于dom或本地的xss攻击)

实际上dom 型的xss 攻击也是一种特殊的反射型xss 攻击,反射型xss 攻击需要依靠用户手动触发,而存储型xss 攻击并不需要用户手动触发,并且作用于数据库,具有更高的隐蔽性和危害性

手工检测xss

手工检测xss 漏洞,关键是利用一些特殊字符来确定输入输出点,一般用特殊字符< / > 之类的进行测试,然后查看源代码,来确定输出点是否存在过滤

xss 跨站脚本攻击

反射型xss,常存在于搜索框,用户登录口,它的数据流向:浏览器->后端->浏览器
存储型xss,多存在于留言,评论,博客日志交互处,数据流向:浏览器->后端->数据库->后端->浏览器

xss 通用标签

xss 跨站脚本攻击xss 跨站脚本攻击

xss 跨站脚本攻击

xss 跨站脚本攻击

xss 跨站脚本攻击