小心XSS 跨站脚本漏洞已是web漏洞王

  Web的安全问题越来越严重,漏洞总是在不停的出现,而我们以前一直在做的都是打补丁,就这样漏洞、补丁、补丁、漏洞的恶性循环着。其实很多的攻击都是可以预防的,只要我们做好前期的工作。

  根据最新的统计显示,跨站脚本、信息泄漏和SQL注入这三个安全漏洞是最容易受到攻击的,而跨站脚本攻击XSS又在其中占了一半以上的份额,所以这里我们要谈谈如何做好基本的对付XSS的防御工作,让我们的Web环境更加安全。

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

  我们先来了解一下XSS主要的攻击手段:

  1、依赖跨站漏洞,需要在被攻击网站的页面种入脚本的手法,包括Cookie盗取,通过javascript获取被攻击网站种下的cookie,并发送给攻击者,从cookie中提取密码等隐私,利用cookie伪造session,发起重放攻击。另外还有包括Ajex信息盗取,通过javascript发起ajex请求,从ajex结果中获取隐私,模拟用户完成多页表单。

  2、不依赖跨站漏洞的手法,包括单向HTTP动作,通过img.src等方法发起跨站访问,冒充被攻击者执行特权操作。但是很难拿到服务器的返回值。还包括双向HTTP动作,如果服务器产生一段动态的script,那么可以用script.src的方法发起跨站访问并拿到服务器的返回值。

  下面看看具体的防御措施:

  1、防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句

  不可以信任用户提交的任何内容,首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过滤;其次任何内容写到页面之前都必须加以encode,避免不小心把html tag弄出来。这一个层面做好,至少可以堵住超过一半的XSS攻击。

  2、Cookie防盗

  首先避免直接在cookie中泄露用户隐私,例如email、密码等等。其次通过使cookie和系统ip绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,不可能拿来重放。

  3、尽量采用POST而非GET提交表单

  POST操作不可能绕开javascript的使用,这会给攻击者增加难度,减少可利用的跨站漏洞。

  4、严格检查refer

  检查http refer是否来自预料中的url。这可以阻止第2类攻击手法发起的http请求,也能防止大部分第1类攻击手法,除非正好在特权操作的引用页上种了跨站访问。

  5、将单步流程改为多步,在多步流程中引入效验码

  多步流程中每一步都产生一个验证码作为hidden表单元素嵌在中间页面,下一步操作时这个验证码被提交到服务器,服务器检查这个验证码是否匹配。首先这为第1类攻击者大大增加了麻烦。其次攻击者必须在多步流程中拿到上一步产生的效验码才有可能发起下一步请求,这在第2类攻击中是几乎无法做到的。

  6、引入用户交互

  简单的一个看图识数可以堵住几乎所有的非预期特权操作。

  7、只在允许anonymous访问的地方使用动态的javascript。

  8、对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。

  9、内部管理网站的问题

  很多时候,内部管理网站往往疏于关注安全问题,只是简单的限制访问来源。这种网站往往对XSS攻击毫无抵抗力,需要多加注意。

  虽然XSS的攻击很灵活,只要我们能做好上述几点,是可以组织大部分XSS的,再及时打好补丁可以最大程度的减少来自跨站脚本攻击XSS的威胁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XSS脚本漏洞修复是保护网免受潜在攻击的重要措施。下面是一些常见的修复方法: 1. 输入验证:对于用户输入的数据,进行严格的验证和过滤。使用白名单机制,只允许特定的字符和标签,过滤掉所有潜在的恶意脚本。 2. 输出编码:在将用户输入的数据输出到页面时,进行适当的编码操作,以防止浏览器将其解析为脚本代码。常用的编码方法包括HTML转义、URL编码等。 3. 设置HTTP头:使用安全的标头策略,如X-XSS-Protection、Content-Security-Policy等,以告诉浏览器如何处理潜在的XSS攻击。 4. Cookie安全措施:在设置Cookie时,使用HttpOnly属性,禁止通过脚本访问Cookie信息,从而减少XSS攻击的影响。 5. 安全沙箱:对于用户提供的富文本数据,使用合适的沙箱环境进行处理,限制其执行脚本的能力,确保不会造成恶意代码的注入。 6. 定期更新:保持软件和库的更新,及时修复已知的XSS漏洞。同时关注安全社区的最新消息,及时了解新的修复策略和最佳实践。 7. 高级防护措施:考虑使用Web应用防火墙(WAF)等高级安全工具来检测和阻止潜在的XSS攻击,提供额外的安全保护。 综上所述,修复XSS脚本漏洞需要综合使用输入验证、输出编码、设置HTTP头、Cookie安全措施等多种方法,以加强网的安全性。同时,定期更新软件和库,并采取高级防护措施有助于最大程度地降低XSS攻击风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值