OpenSSH 命令注入漏洞(CVE-2020-15778)
openssh中包含scp命令,用于远程复制文件,其使用方式与openssh登录的方式是相同的。ssh远程登录安装了openssh的linux系统ssh远程机器用户名@ip地址scp远程复制文件scp本地文件 远程机器用户名@ip地址:'文件路径+文件名称'之后都是输入用户密码完成操作。漏洞发生于scp命令:后输入的文件路径中,在’'中加入``,这两个符号之中的文本会被远程主机在运行scp -t
·
openssh中包含scp命令,用于远程复制文件,其使用方式与openssh登录的方式是相同的。
ssh远程登录安装了openssh的linux系统
ssh 远程机器用户名@ip地址
scp远程复制文件
scp 本地文件 远程机器用户名@ip地址:'文件路径+文件名称'
之后都是输入用户密码完成操作。
漏洞发生于scp命令:后输入的文件路径中,在’'中加入``,这两个符号之中的文本会被远程主机在运行scp -t 时当作命令执行
例如:
scp 本地文件 远程机器用户名@ip地址:'`touch test.txt`'
会生成一个test.txt文件
也可以执行其他的命令,如shutdown、反向shell等。
这个问题比较鸡肋,需要知道ssh的主机密码,但是问题安全等级比较严重。
解决方法
- 通过rpm、yum安装的openssh
//查看运行的openssh相关程序
rpm -qa|grep openssh-*;
//移除包含scp命令的客户端
yum remove openssh-clients -y;
- 通过tar.gz压缩包安装的openssh
//执行以下命令,查找openssh 安装后附带的scp命令位置,找到后直接删除scp文件
find . -name "scp"
- 最后的办法,停止sshd服务,但也就无法使用openssh远程了
//找到执行的openssh
ps -ef|grep sshd
//杀死对应的进程
kill -9 XXXX;
实现效果
在主机上运行scp命令,输出
-bash: scp: command not found
更多推荐
已为社区贡献1条内容
所有评论(0)