来自可通过另一台服务器访问的服务器的 SCP

Scp from a server accessible via another server

为了安全挑战,我必须利用缓冲区溢出。我只有可执行文件。要参加挑战赛,我必须使用安全服务器,我将其称为第一台服务器。这里 "scp" 不起作用,我无法安装它,因为我没有任何权限。然后我进入另一台服务器,第二台服务器,只能从第一台服务器访问。这是可执行文件。

问题是我想使用这里没有安装的radare2,所以我想把这个文件传输到我的本地机器上来处理它。

所以我想做的是从第一台服务器上执行 scp 以获取第二台服务器上的文件,然后在我的本地计算机上执行 scp 以从第一台服务器上取回文件。但是问题是第一台服务器上没有安装scp。

你知道我该怎么做吗?

谢谢。

scp 只是通过 ssh 进行复制 - 但作为 IIRC,它可以在服务器配置中禁用。

正如其他答案所引用的那样,ssh 隧道可以解决问题。

you@yourmachine:~$ ssh -L2222:server2:22 user@server1

您现在在服务器 1 上,从您的 localhost:2222 发送的任何内容都将通过您的 SSH 连接,然后在解密后将转发到服务器 2 的端口 22(ssh 的默认端口)。

打开一个新终端并

you@yourmachine:~$ ssh -p 2222 username-on-server2@localhost

you@yourmachine:~$ scp -P 2222 localfile username-on-server2@localhost:/path/on/server2/to/save/it/in

您的第二个 ssh 客户端进程将连接到您本地主机的端口 2222,滑入 ssh 隧道并发送到服务器 1,然后将其转发到服务器 2,后者会将其视为来自服务器 1 的传入连接。