leafee98-blog/content/essays/why-scp-is-not-security.md

19 lines
1,019 B
Markdown
Raw Normal View History

---
title: "scp “不安全的原因”"
date: 2021-01-03T14:47:55+08:00
tags: []
categories: []
weight: 50
show_comments: true
draft: false
---
- scp 在以前的版本中不会对所请求的文件的文件名做验证
- scp 拥有使用 shell 命令间接指明所需要的文件的特性,也因此难以对文件进行名称的验证(已经被移入到 -T 选项)
- 现阶段如果使用 -r 选项, scp 依然无法对接受的文件名进行验证
## 可能的攻击方式
你目前在目录 `dir` 下,该目录下有重要文件 `foo` ,你需要从远程的客户机 `remote-host` 上获取名为 `bar` 的文件,你使用命令 `scp remote-host:/bar ./` 将目标文件拷贝到自己主机,但是对方却向你发送了一个空的名为 `foo` 的文件,于是你原来的重要文件被覆盖。
[https://unix.stackexchange.com/questions/571293/is-scp-unsafe-should-it-be-replaced-with-sftp](https://unix.stackexchange.com/questions/571293/is-scp-unsafe-should-it-be-replaced-with-sftp)