摘要:参考文献白帽子讲安全亚马逊购买地址链接前言浏览器作为客户端,也是我们用户上网的直接入口,所以浏览器的安全就是用户安全的第一道屏障。同源策略同源策略是浏览器最核心最基本的安全功能。不同源的客户端脚本在没明确授权的情况下,不能读写对方的资源。
参考文献:白帽子讲Web安全 (亚马逊购买地址:链接)
前言浏览器作为客户端,也是我们用户上网的直接入口,所以浏览器的安全就是用户安全的第一道屏障。
同源策略同源策略是浏览器最核心最基本的安全功能。它限制了来自不同源的“document”或脚本,对当前“document”读取或者设置某些属性。所谓同源是指host(域名或者ip地址)、子域名、端口和协议相同。不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。
但需要注意的是,对于当前页面来说,页面存放js文件的域并不重要,重要的是加载js的页面所在域是什么。例如:在a.com的页面下通过获取了b.com域中的资源,但是由于b.js是运行在a.com的页面中,因此对于当前页面来讲,b.js的域就是a.com。
在浏览器中,、,然后攻击者诱使目标用户也就是小白同学访问这个页面,他看到一张无法显示的图片,但是在这这图片的背后是csrf攻击的巨大阴谋。
-----栗子吃完了-----
面对csrf攻击,用户真的是防不胜防,那么作为网站建设者有什么方法可以防御这种攻击呢呢。下面列几种比较常用的方法。
验证码
验证码被认为是对抗csrf攻击最简洁有效的防御方法。csrf攻击往往是在用户不知情的情况下构造了网络请求,而验证码则是强制用户与应用进行交互来完成最终的请求。但是出于对用户体验的考虑,网站不会在所有的操作上都加上验证码,所以这只能作为一种辅助手段,而不是最终的解决方案。
referer check
referer是http请求header中的一个参数,允许客户端指定请求url的源资源地址。所以referer check可以用于检查请求是否来自合法的“源”。常见的互联网应用,页面与页面之间都具有一定的逻辑关系,这使得每个正常清请求的referer都具有一定的规律。举个栗子,比如进行发表博客的操作,在提交发表博客的表单时,referer的值必然是编辑博客所载的页面,如果不是这个页面甚至不是这个网站的域那么极有可能是csrf攻击。这种防御手段的缺陷在于,服务器不是任何时候都能取得referer,所以这只能作为一种监控手段而无法作为主要的防御手段。
Anti CSRF Token
现在业界针对csrf防御的一致做法是使用token。csrf能够成功的本质原因是攻击者可以猜出请求中的所有参数和参数值,所以才能成功地构造一个伪造的请求。所以直观的解决方案是:把参数加密,或者使用一些随机数从而让攻击者无法猜测到参数值,目前业界通用的方案就是使用AntiCSRFToken。那么针对我们开头所说的那个栗子?,保持原有参数不变,新增一个参数token,这个token的值是随机的,不可预测:http://blog.balabala.com/manager/entry.do?m=delete&id=12345&token=[random(seed)] 。在实际应用中,token同时放在表单和session(或者cookie)中,在提交请求的时候服务器只需要验证表单中的token和用户session(或者cookie)中的token是否一致从而判断这个请求是否合法。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/11192.html
摘要:综上,对称加密安全性低,若要稍微提高点安全性,就会提升程序复杂度。对于它的缺点数据内容泄露,其实在传输过程中不泄露,保存在本地同样会泄露,若对此在意,可以对脚本文件再加一层简单的对称加密。 使用 JSPatch 有两个安全问题: 传输安全:JS 脚本可以调用任意 OC 方法,权限非常大,若被中间人攻击替换代码,会造成较大的危害。 执行安全:下发的 JS 脚本灵活度大,相当于一次小型更...
摘要:我把这个领域的东西写成了一个系列,以后还会继续完善下去安全一同源策略与跨域安全二攻击安全三攻击 上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击。 什么是XSS攻击 XSS攻击全名(Cross-Site-Script)跨域脚本攻击,为了跟CSS(Cascading-Style-Sheet)区分开来,所以缩写是XSS。 XSS攻击的原理 上一节说道的CSRF攻击是利用的是伪请求,这...
摘要:我把这个领域的东西写成了一个系列,以后还会继续完善下去安全一同源策略与跨域安全二攻击安全三攻击 上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击。 什么是XSS攻击 XSS攻击全名(Cross-Site-Script)跨域脚本攻击,为了跟CSS(Cascading-Style-Sheet)区分开来,所以缩写是XSS。 XSS攻击的原理 上一节说道的CSRF攻击是利用的是伪请求,这...
阅读 129·2024-11-06 13:38
阅读 528·2024-09-10 13:19
阅读 706·2024-08-22 19:45
阅读 1309·2021-11-19 09:40
阅读 2424·2021-11-18 13:14
阅读 4216·2021-10-09 10:02
阅读 2214·2021-08-21 14:12
阅读 1229·2019-08-30 15:54