小智 13
mkfifo foo
nc -lk 2600 0<foo | /bin/bash 1>foo
Run Code Online (Sandbox Code Playgroud)
然后只需要nc servername 2600和./script.sh
用ctrl + c杀死客户端
最好的方法是切换到支持它的 netcat 版本。在 Debian/Ubuntu IIRC 上正确地你应该使用 netcat classic,而不是 netcat openbsd:
sudo apt-get install netcat-traditional # netcat-openbsd
Run Code Online (Sandbox Code Playgroud)
您可以选择明确指定您需要的版本:
nc.traditional server 6767 -e myscript.sh
nc.openbsd -l 6767
Run Code Online (Sandbox Code Playgroud)
(注意选项使用的细微差别)。正如你所看到的(如下) nc.traditional 可以作为独立的二进制文件运行,仅依赖于 libc 和 linux 本身,所以如果你没有安装权限,你应该能够将独立的二进制文件放在某个地方(文件系统当然要经过exec许可)并像这样运行
/home/user/bin/mynetcat server 6767 -e myscript.sh
Run Code Online (Sandbox Code Playgroud)
华泰
$ ldd `which nc.{traditional,openbsd}`
/bin/nc.traditional:
linux-gate.so.1 => (0xb7888000)
libc.so.6 => /lib/libc.so.6 (0xb7709000)
/lib/ld-linux.so.2 (0xb7889000)
/bin/nc.openbsd:
linux-gate.so.1 => (0xb77d0000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb76df000)
libc.so.6 => /lib/libc.so.6 (0xb7582000)
libpcre.so.3 => /lib/libpcre.so.3 (0xb754c000)
/lib/ld-linux.so.2 (0xb77d1000)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11652 次 |
| 最近记录: |