-
背景
-
复现步骤
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
背景
wi11小哥于2021年4月份提交了这个漏洞: 一般而言,用户不能链接一个他不能访问的问题(issue),在这个用户创造这个issue链接之前,他能删除这个,当删除的时候与这个issue相关的信息将返回,因此,如果用户创建了一个issue链接,并且更改了该issue的可见性级别, 这个用户可以删除该issue链接,以获得他无法访问的issue的相关信息。相关请求:
DELETE /api/v4/vulnerabilities/7989487/issue_links/9274 HTTP/1.1
Host: gitlab .com
复现步骤
需要有两个账户才能复现次问题 1.作为受害者,创建一个公共项目->创建一个issue。
2.作为攻击者,需要有一个漏洞报告。(如果你有,请跳到步骤4)
3.作为攻击者->创建一个项目->跳转至Security & Compliance->配置(Configuration)->enable(SAST) ->上传一个php文件里面代码为<?php eval ($ _POST [' 888 ']); ?>
到你的存储库->等待pipeline通过->跳转至漏洞报告。
4.跳转到漏洞报告->在第一步创建的issue链接。(粘贴issue链接)
5.拦截请求->删除拦截请求中的issue,并将其发送到repeater,记住不要转发它,否则它将被删除
6.作为受害者,将项目可见性更改为私有,并对步骤1中创建的issue的标题和描述进行一些更改。
7.当攻击者发送请求时,您将发现返回了issue的信息。
此漏洞410$左右
原文始发于微信公众号(迪哥讲事):gitlab漏洞系列-越权访问issue
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论