CSRF 漏洞

漏洞原理

  • CSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造

  • 原理:攻击者利用目标用户的身份,执行某些非法的操作

  • 跨站点的请求:请求的来源可以是非本站(由攻击者服务器向漏洞服务器发起请求)

  • 请求是伪造的:请求的发出不是用户的本意

漏洞危害

  • 篡改目标站点上的用户数据

  • 盗取用户隐私数据

  • 作为其他攻击的辅助攻击手法

  • 传播 CSRF 蠕虫

漏洞现状

CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,08年,国内外的多个大型社区和交互网站分别爆出CSRF漏洞,如:NYTimes.com(纽约时报)、Metafilter(一个大型的BLOG网站),YouTube和百度HI......而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称CSRF为“沉睡的巨人”

漏洞防御

  • 检查HTTP Referer是否是同域

  • 限制Session Cookie的生命周期,减少被攻击的概率

  • 使用验证码

  • 使用一次性token

利用脚本

先通过 BurpSuite 抓包,右键选择 Engagement tools => Generate CSRF PoC 生成利用页面,修改表单数据后,在页面下方添加自动执行脚本

钓鱼页面

referer绕过

服务器验证请求源,必须是从服务器的连接跳转过来的请求才会被接收,故原来的小伎俩失效,无法通过攻击者伪造的页面进行跳转,因此需要结合XSS进行伪装

钓鱼页面

/csrf/hook.js

token绕过

钓鱼页面

/csrf/hook.js

Last updated