luoway / blog

个人博客,issues管理
19 stars 3 forks source link

前端开发者需要知道的CSRF攻击 #3

Open luoway opened 5 years ago

luoway commented 5 years ago

CSRF(Cross-site request forgery)跨站请求伪造,听起来很洋气,实践起来一句话概括:

攻击者 借助 用户浏览器 访问 攻击者所指定的链接

举例

用户A登录过bank.com且没有失效,
攻击者提供一个链接诱使/强制使用户A访问,如:

<a href="http://bank.com/insecurely-pay?target=AComOwner&money=xxx" target="_blank">点我</a>

bank.com/insecurely-pay没有防范伪造请求,认为这是用户A的意愿予以执行接口功能,则完成了CSRF攻击。

简析

攻击要点:

防范

CRSF攻击的原理是:攻击者通过浏览器默认行为,借用了用户的登录信息,达成攻击者的目的。

理解了这个原理,防范就有两个方向:避免登录信息被借用,或识别登录信息被借用。

防范方案:

思考

luoway commented 5 years ago

CSRF攻击实例: 当通过url传递一些页面展示信息时,如传递图片,接收页若直接将图片链接放到img.src上。 那么攻击者就可以将图片链接替换为攻击者指定的链接,由于img标签会发起请求,即可达成CSRF。 若该图片链接的使用未做XSS防护,则还能执行脚本,达成XSS(Cross Site Scripting,跨站脚本)。

luoway commented 5 years ago

推荐阅读:《CSRF 攻击的应对之道》

luoway commented 1 year ago

考题:b.com 向 a.com 发出请求

  1. 存在哪些问题?
  2. 满足哪些条件可以使请求成功响应?