12、客户端跨域请求安全与表单历史防攻击策略

客户端跨域请求安全与表单历史防攻击策略

客户端Flash代理跨域请求的安全问题与解决方案

Flash小程序与HTML/JavaScript环境交互能力有限,难以应对攻击者设置的JavaScript包装器,因此从JavaScript获取的数据不可信。但Flash又需依赖JavaScript获取所在页面的URL以做安全敏感决策。

为解决这一问题,提出了重定向到片段标识符的对策。当浏览器窗口重定向到包含片段标识符(即本地锚点)的URL时,页面加载完成后会自动滚动到文档中相应位置。若当前页面URL与重定向目标相同,则跳过页面加载步骤,直接访问本地锚点。利用这一特性可验证Flash外部接口机制获取的URL的正确性。

具体操作步骤如下:
1. Flash小程序接收所在页面的假定URL后,在该URL后附加一个片段标识符,并指示浏览器重定向到该位置。
- 若最初接收的URL正确,重定向不会导致浏览器实际重新加载页面,仅在页面存在匹配锚点时改变页面滚动位置;若不存在匹配锚点,重定向则无任何效果,且Flash仍在页面中保持活跃,可执行发起的操作。
- 若从JavaScript接收的URL被篡改,浏览器会将用户重定向到攻击者JavaScript声称的源页面,Flash小程序停止执行。
2. 该方案存在一个弱点,攻击者可使用JavaScript事件处理程序(如window.onbeforeunload)阻止浏览器重定向,而Flash小程序无法直接察觉这种行为。
3. 为防止此类情况,在片段标识符中包含一个随机数(大且不可猜测)。在执行安全敏感操作前,Flash小程序再次向JavaScript请求所在URL,并将接收到的URL与之前保存的包含随机数的URL

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值