xss 跨站脚本攻击
攻击原理
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 的值
此时查看源代码,发现我们以get 传过去的x 的值在body 标签直接输出
也就是说我们可以在一些前端代码中嵌入并执行自己构造的一些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 通用标签
上一篇: Hadoop集群管理
下一篇: 带着萌新看springboot源码02