php 跨站脚本攻击防御,跨站脚本攻击(XSS)的原理、防范和处理方法

0。关键字:XSS,跨站脚本攻击,原理分析,攻击方式,防范,检查,恶意代码,蠕虫

1。概念

以下概念摘抄自百度百科:

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

2。生效方式

1)构造URL

XSS攻击者通过构造URL的方式构造了一个有问题的页面;当其他人点击了此页面后,会发现页面出错,或者被暗中执行了某些js脚本,这时,攻击行为才真正生效。

一般来说,动态页面中会将url中的部分内容回写在页面中。以百度的搜索为例:

http://www.baidu.com/s?wd=

参数转义后的结果,搜索结果页中,会在标题中中和搜索框中回写用户输入的内容。从页面的源代码中,我们看到,这两处本应该显示用户输入内容的地方,实际也经过了转义处理,变成了。如果这里没有经过转义处理,则页面中就嵌入了一段script,会执行,并弹出对话框提示用户。如果是其他恶意代码,则可能造成破坏。

然后攻击者将此URL广为传播——比如说,以报错的方式发给百度的管理员,管理员打开这个URL就中招了。

2)发布内容式

构造URL攻击方式传播范围有限,被攻击者只要有基本的安全意识就可以避免,因此这种手段的危险性比较小。相比之下,通过发表内容构造的XSS的危害就大了很多。

在可以发表内容的论坛、讨论区、吧、博客、微博等网站上,用户发表的内容会保存起来,允许其他用户浏览。这些保存的内容显示在页面上的时候,如果没有经过正确的处理,也会把攻击者精心构造的内容显示出来,访问该内容的用户就此中招。如果该页面流传广泛,则影响会更加深远。

一般来说,这种攻击都做得比较隐蔽,被攻击者并不知道自己什么时候踩中了地雷;网站也很难追查问题的来源。

3)蠕虫式

上述两种方式的流传范围都有一定限度;最彻底最暴力的方式是使用蠕虫——就是首先发一个有问题的文章,浏览者阅读时会被暗中执行恶意代码,发表一篇新的文章的,该文章也含有同样的恶意代码。这样有可能在最快时间内将攻击铺满整个网站。蠕虫式攻击将暗中偷偷摸摸的攻击行为变成了光明正大的攻城拔寨,极容易被发现和修复。

下面是6月28日新浪微博被蠕虫攻击的报告,其实质就是XSS攻击。

http://www.ijinshan.com/news/20110629001.shtml

3。破坏方式

1)破坏页面结构

用户输入的内容包含了html的标签,与前面的标签等闭合,导致页面的DIV结构发生变化,页面错乱。

测试
测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值