一般在(4)
处恶意网站(B)
的进击手段如下(必须是指向A
的地址,不然无法带上cookie):
- // 1.譬如在网站内的图片资本中潜入恶意的转账操作
- <img src=http://www.bank.example/transfer?toBankId=hello&amount=1000000 width='0' height='0'>
- // 2.构建恶意的隐蔽表单,并经由过程脚本提交恶意请求
- <iframe style="display: none;" name="csrf-frame"></iframe>
- <form method='POST' action='http://www.bank.example/transfer' target="csrf-frame" id="csrf-form">
- <input type='hidden' name='toBankId' value=http://developer.51cto.com/art/201801/'hello'>
- <input type='hidden' name='amount' value=http://developer.51cto.com/art/201801/'1000000'>
- <input type='submit' value=http://developer.51cto.com/art/201801/'submit'>
- </form>
- <script>document.getElementById("csrf-form").submit()</script>
并且,大年夜头到尾,进击网站都没有获取到过 cookie,都是经由过程浏览器借居实现(应用Web的cookie隐式身份验证机制),所以HttpOnly
并不会影响这个进击
最后说下,几种常见的CSRF防御手段:
XSS进击及防御 这是一个跨域共享筹划,大年夜致流程就是:(仅以复杂请求的预揭穿例-这一部分请求提前控制CORS相干常识)1. 验证HTTP Referer字段(异常简单,然则鉴于客户端并弗成信赖,所以并不是很安然)
(防止CSRF,检查Referer字段简单直接,然则其完全依附浏览器发送精确的Referer字段。
固然http协定对此字段的内容有明白的规定,但并无法包管来访的浏览器的具体实现,
亦无法包管浏览器没有安然漏洞竽暌拱响到此字段。并且也存在进击者进击某些浏览器,修改其Referer字段的可能。)
2. 在请求地址中添加token并验证
(譬如post中,以参数的情势参加一个随机产生的token)
CSRF与AJAX的关系
在接收到上岸请求后,办事端的实际履行代码时是:
上文中,我们看到CSRF的前提是cookie验证用户身份,那么它与AJAX的关系大年夜么?
我们先分析AJAX中带cookie验证的情况:
问题1:会对cookie认证造成影响么?1. AJAX受到浏览器的同源策略限制
2. AJAX默认无法请求跨域的接口
(当然后台可以设备`Access-Control-Allow-Origin: *`之类的许可所有的跨域请求)
3. AJAX请求无法携带跨域cookie
(如不雅强行开启withCredentials,必须办事端合营认证,无法用作进击)
嗯哼...看到这,根本就可以认为CSRF与AJAX请求无缘了。。。
譬如假设上图中第4
部分的请求由AJAX提议,假设网站A已经许可了Access-Control-Allow-Origin: *
,因为网站B与网站A是不合域名,所以存在跨域,根据同源策略,请求时根本就无法携带cookie,故而无法经由过程身份认证,进击掉败。。。
就算强行开启withCredentials,携带跨域cookie,然则因为办事端并不会零丁设备网站B的跨域cookie(需设备Access-Control-Allow-Credentials: true
,并且这时刻不许可设置Allow-Origin: *
),所以肯定认证掉败
所以说,结论是:CSRF与AJAX无关
XSS简介
既然CSRF与AJAX关系不大年夜,那么XSS应当会与AJAX有很大年夜关系吧?(要不然为什么一向说AJAX请求不安然,对吧。)。那么请持续看下去(本文中只限JS范畴)
XSS(cross-site scripting),看起来简写竽暌功该是css更合适。。。然则为了和层叠式样式表区分,就用XSS简写表示
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 人工智能正在加快迈人道能进级、应用深化的2.0成长新阶段,比出生60余年以来的任何时刻都加倍接近于仁攀类智能>>>详细阅读
本文标题:AJAX请求真的不安全么?谈谈Web安全与AJAX的关系
地址:http://www.17bianji.com/lsqh/40290.html
1/2 1