Har*_*rry 6 security bsd netcat
为什么 BSD 1.10 版nc禁用了-e在其他所谓的不安全发行版中找到的选项,即使使用“安全”版本也可以轻松实现相同的危险功能,如下所示nc:
$ # Machine A
$ mkfifo pipe
$ nc -l 4000 <pipe | bash >pipe
$ # Machine B
$ nc MachineA 4000
Run Code Online (Sandbox Code Playgroud)
现在,如果我要将机器 A 上的咒语包含在脚本中(即,如果传递了“-e”参数,则有效地执行上述操作),我基本上已经引入了“大安全漏洞”而无需下台到 Makefile 和构建级别。
那么,为什么要达到#define-ing GAPING_SECURITY_HOME in的程度netcat.c呢?
我可以使用“netcat -e”来运行其他应用程序,例如 imap 或 pop3。“#ifdef GAPING_SECURITY_HOLE”部分可能包含一个允许您运行 shell 的错误,这就是默认情况下 ifdefed 的原因。ifdef 包装安全关键部分。