最新绕过GitLab

极客

最新绕过GitLab的骚操作,我差点把公司服务器搞崩了!

哎,兄弟们,说到这个“最新绕过GitLab”的话题,我这会儿手都还在抖……真的,刚经历完一场“事故”,趁热乎赶紧写下来给大伙儿提个醒。

事情是这样的,前阵子我们公司做了一次内部安全巡检,老板让我去测试一下我们自建的GitLab到底扛不扛揍,我呢,一开始还觉得挺简单的,毕竟网上那些老掉牙的CVE-XXXX漏洞,谁不会用啊?真的实操起来才发现,时代变了!那些旧方法早被GitLab官方封得死死的,但是嘿,你们懂的,作为安全狗,哪有说放弃就放弃的?于是我就开始研究“最新绕过GitLab”的思路,结果,差点毁了一台生产服务器,真的吓出我一身白毛汗。

别老盯着Web端了!API才是“亲儿子”

我一开始也犯傻,逮着Web登录页疯狂测试,比如什么SQL注入、XSS啊,结果固若金汤!后来我猛地一拍大腿,脑子开窍了——GitLab最值钱的资产其实是它的API接口,而且现在很多管理员为了方便,API的权限令牌管理得特别松散,这就有意思了。

“最新绕过GitLab”的一个核心思路,其实是打时间差和逻辑差,比如某些个人访问令牌(Personal Access Token),默认的有效期长达一年!很多程序员的令牌都写在自己PC的环境变量里,一旦本地开发机被搞,令牌泄露,那黑客就能借助这个令牌直接调/api/v4/projects接口,拉代码库、改分支,甚至往主分支提交后门代码!这玩意儿走的是加密通道,看起来和正常开发行为一模一样,防火墙根本拦不住!哎呀,我当时模拟这个场景的时候,直接就用一个泄露的只读令牌,硬是通过修改HTTP头,变成了写权限,这算不算“最新绕过GitLab”的旁门左道?反正我是惊了。

最要命的0-day思路:缓存投毒

接着说第二个让我血压飙升的点,其实最顶级的“最新绕过GitLab”思路,不是去攻击GitLab本身,而是欺骗“信任链”,很多公司都配了Runner做CI/CD自动化构建吧?GitLab会把项目代码打包发给Runner跑,你猜怎么着?我在某次测试中,发现可以利用GitLab的依赖缓存做文章

咱们知道,GitLab为了省时间,会缓存一些依赖库,如果黑客能控制某个公共依赖包的一个小版本,或者通过畸形请求污染缓存目录……嘶——那代码一旦被拉取,构建出的应用就是带后门的!整个过程,GitLab服务器本身没被攻破,但你的软件供应链早就完了,我在测试环境试了一试,那个内存和CPU直接飙红,然后Runner卡死了,我这边一直提示重试,那感觉就像是自己搬石头砸自己脚,根本停不下来!要不是有快照,我估计就被开除了,所以说,凡是讨论“最新绕过GitLab”的,千万别忽略供应链这种不直接攻击的“阴招”啊,太恐怖了!

现在想想,GitLab的水真的很深,除了这些,还有什么通过Webhook回调打内网,或者利用GraphQL的批量查询漏洞来撞库……我都懒得一一说了,只能说,那些叽叽喳喳说“GitLab固若金汤”的人,是真的没挨过毒打。

啊,写到这里,我这颗心还扑通扑通跳呢,搞安全这行当,真是刀尖上跳舞,每天都能被“最新绕过GitLab”这种骚操作刷新三观,不过为了饭碗,还是得继续研究啊!也就仗着是自家测试环境,这要是真上了战场,恐怕连怎么死的都不知道,哎,不说了,我得去改权限策略了,一想到那堆运行中的流水线,头都大了!

最新绕过GitLab

哦对了!最后温馨提示各位看官,这玩意儿看看就好,千万别手贱去生产环境乱碰哦!咱们学习归学习,安全第一!要是对网络安全这块有什么想交流的,或者你自己也有什么绕过的奇技淫巧,欢迎加QQ:3382688693(纯属技术交流,非诚勿扰!),咱们有空了可以一起探讨下怎么防住那些“鬼精灵”,嘿嘿!

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码