搜索
查看: 802|回复: 2

小心XSS 跨站脚本漏洞

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2013-9-27 16:45:31 来自手机 | 显示全部楼层 |阅读模式
xss 跨站脚本 攻击 漏洞
Web的安全问题越来越严重,漏洞总是在不停的出现,而我们以前一直在做的都是打补丁,就这样漏洞、补丁、补丁、漏洞的恶性循环着。其实很多的攻击都是可以预防的,只要我们做好前期的工作。
  根据最新的统计显示,跨站脚本、信息泄漏和sql注入这三个安全漏洞是最容易受到攻击的,而跨站脚本攻击XSS又在其中占了一半以上的份额,所以这里我们要谈谈如何做好基本的对付XSS的防御工作,让我们的Web环境更加安全。
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
  我们先来罶庖幌耎SS主要的攻击手段:
   1、依赖跨站漏洞,需要在被攻击网站的页面种入脚本的手法,包括CookieDAO,通过java script获取被攻击网站种下的cookie,并发送给攻击者,从cookie中提取密码等隐S,利用cookie伪造session,发起重放攻击。 另外还有包括Ajex信息DAO,通过java script发起ajex请求,从ajex结果中获取隐S,模拟用户完成多页表单。
   2、不依赖跨站漏洞的手法,包括单向HTTP动作,通过img.src等方法发起跨站访问,冒充被攻击者执行特权操作。但是很难拿到服务器的返回值。还 包括双向HTTP动作,如果服务器产生一段动态的script,那么可以用script.src的方法发起跨站访问并拿到服务器的返回值。
  下面看看具体的防御措施:
  1、防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句
   不可以信任用户提交的任何内容,首先代码里对用户输入的地方和变量都需要仔细检查长度和对””,”;”,”’”等字符做过滤;其 次任何内容写到页面之前都必须加以encode,避免不小心把html tag弄出来。这一个层面做好,至少可以堵住超过一半的XSS攻击。
  2、Cookie防DAO
  首先避免直接在cookie中泄露用户隐S,例如email、密码等等。其次通过使cookie和系统ip绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,不可能拿来重放。
  3、尽量采用POST而非GET提交表单
  POST操作不可能绕开java script的使用,这会给攻击者增加难度,减少可利用的跨站漏洞。
  4、严格检查refer
  检查http refer是否来自预料中的url。这可以阻止第2类攻击手法发起的http请求,也能防止大部分第1类攻击手法,除非正好在特权操作的引用页上种了跨站访问。
  5、将单步流程改为多步,在多步流程中引入效验码
   多步流程中每一步都产生一个验证码作为hidden表单元素嵌在中间页面,下一步操作时这个验证码被提交到服务器,服务器检查这个验证码是否匹配。首先 这为第1类攻击者大大增加了麻烦。其次攻击者必须在多步流程中拿到上一步产生的效验码才有可能发起下一步请求,这在第2类攻击中是几乎无法做到的。
  6、引入用户交互
  简单的一个看图识数可以堵住几乎所有的非预期特权操作。
  7、只在允许anonymous访问的地方使用动态的java script。
  8、对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。
  9、内部管理网站的问题
  很多时候,内部管理网站往往疏于关注安全问题,只是简单的限制访问来源。这种网站往往对XSS攻击毫无抵抗力,需要多加注意。
虽然XSS的攻击很灵活,只要我们能做好上述几点,是可以组织大部分XSS的,再及时打好补丁可以最大程度的减少来自跨站脚本攻击XSS的威胁。
854955425 该用户已被删除
发表于 2013-9-27 17:26:26 | 显示全部楼层
这是什么东东啊
专业回帖 该用户已被删除
发表于 2013-9-27 18:04:37 | 显示全部楼层
路过,学习下
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表