冰点黑客网:CVE-2019-11229详细分析 --git config可控-RCE
2019年4月15号,gitea曾爆出过一个缝隙,恰逢其时对这个缝隙比较猎奇就着手
导读:何为“间谍”?《说文解字》解释道:“谍,军中反间也。”运用反间计当然需求三寸不烂之舌,这是“谍”的转义。“间”怎么会跟“谍”联络起来了呢?“间”本来写作“闲”,清代文字训诂学家段玉裁为《说文解字》所作的注释说:“开门月入,门有缝而月光可入。”因此“间”的转义便是门缝,泛指缝隙,有缝隙就可以运用反间计了,故称“间谍”。去研讨了一下,缝隙的描述是这样的:
models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL settings, leading to remote code execution.
在和朋友@hammer的一起研讨下,成功操控了git config的内容,但是在从git config到RCE的进程遇到了困难,就暂时放置了,在过了几个月之后,偶尔得到@Lz1y和@x1nGuang两位大佬的启示,成功复现了这个缝隙,下面我们就来细心研讨下这个问题。
剖析补丁
首要依据cve的信息,确认缝隙1.7.6和1.8.0-rc3上修正
https://github.com/go-gitea/gitea/releases/tag/v1.7.6
https://github.com/go-gitea/gitea/releases/tag/v1.8.0-rc3
依据缝隙文件为repo_mirror.go这个信息确定更新的commit,commit主要为 #6593和#6595
https://github.com/go-gitea/gitea/pull/6595/commits/52af826a7aa1df6ab538d881db236698cb367cd7
依据patch可以大致确定问题的要害点
/models/repo_mirror.go
当库房为mirror库房时,settings页面会闪现关于mirror的装备
if !repo.IsMirror {
ctx.NotFound("", nil)
return
}
patch中将本来的修正装备文件中的url选项修正为NewCommand。很简略了解,将写入文件更改为实行命令,这种修正办法必定是因为写入文件存在无法修正这个问题的困境,那么这也就说明url这儿可以通过传入%0d%0a来换行,导致修正config中的其他装备。
操控 gitconfig
跟从前面的逻辑,首要我们新建一个miGh0st的流量具有非常典型的特征,很多远控其实都是通过Gh0st源码改的,所以大致的格式都差不都,一段标识码+Zlib紧缩的数据(怎样知道是zlib呢?zlib紧缩的头部标明是x78x9c),通过这个特性,可以在流量侧对这些远控进行检测或解析流量数据,这也是现在大多数IDS/态势感知产品所用到的办法之一。rror库房。
抓包并修正mirror_address为相应的特点。
mirror_address=https%3A%2F%2Ftest%3A%40github.com%2FLoRexxar%2Ftest_for_gitea.git"""%0d%0a[core]%0d%0atest=/tmp%0d%0aa="""
可以传入各种装备,可以操控config文件的内容。
比较风趣的是,假如你更新同步设置时,服务端还会格式化装备。
进一步运用
而重要的是怎么从config文件可控到下一步运用。
首要,git服务端只会保存.git里的内容,并不是没有做日志记载因为时间联络。完好的相似我们客户端运用的git库房。所以很难引进外部文件。不然就可以通过设置hook目录来完成RCE,这种思路的要害点在于找到一个可控的文件写入或许文件上传。
其次,别的一种思路便是寻觅一个可以实行命令的装备,并寻觅一个可以触发相关装备的长途装备。
系统软件构架 京麦是京东卖家的跨平台敞开式作业平台,是京东商城十万店家唯一的店铺管理管理系统,为京东卖家出示在挪动和桌面上端实际操作业务流程,京麦自身是一个对外开放的端管理体系构架,由京东官方和...
$offset = $argv[0]; // 注意,没有输入验证! $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 O...
各位同学大家晚上好,我是全民社群的熊冠亮老师,今天和大家探讨下互联网领域的九大思维,希望通过今天的探讨,可以让我们大家有所启发,去借鉴别人的思维方式,而不是照搬照抄,用到我们的流程改造、产品或解决方案...
先看看我的一次跨站测试吧 我以职业欠钱的站点做测试吧: Host:zhiyeqianqian.51web.cn MyTest: 先在他的论谈上传两张图, 图一的内容是: 得...
这儿,咱们引证回形针PaperClip的视频来介绍一下关于“智能机器人”运转办法的解说。 Powershell作为内网浸透的利器, 在Windows环境下被广泛运用。 运用Poweshell能够下降软...
有靠谱的私人侦探吗(能调研私人信息的企业) 要寻找一家科学研究企业,最先大家必须掌握这个企业的整体实力。那麼大家怎样看待?最先,我们在互联网技术上检索该企业是不是在工业申请注册?第二,掌握该企业的业...