在终端中转储二进制数据是否危险?

在终端中转储二进制数据是否危险?

我正在考虑这样一种情况,即未知的数据流被打印到终端或终端仿真器上,这是否会导致某些字符序列被解释为命令并造成损害?

基本上,我想知道将随机或未知的八位字节序列转储到终端[模拟器]可能产生什么后果?举xterm个例子。

答案1

潜在的危险。虽然理论上,向终端倾倒“垃圾”应该不要造成伤害,你永远不知道终端背后的代码中是否存在错误。某个二进制字符串可能会产生意想不到的后果。

答案2

在早期版本的 DOS 中,存在一种暴露,即对软盘执行 DIR 操作(如果系统启用了某些选项)可能会导致从软盘执行命令,从而可能安装病毒。这里的关键是设置了一个控制台显示系统来将某些字符组合解释为命令。我不知道有任何“现代”DOS/Windows 版本存在这种情况(HTML 等除外),但我对 xterm 等知之甚少(它们在某种程度上模拟了那些旧环境),并且在某些 GUI 环境中也可能存在类似的危险。

早在电传打字机时代,发送“纯二进制”数据会导致无效机械序列,从而损坏某些电传打字机。现代打印机不应该有这个问题(当然,有时一页又一页地打印,基本上什么都没有的问题至今仍然存在)。

答案3

可以制作包含控制字符的文件。控制字符可以是换行符、退格符或 ASCII 表中的任何字符。如果您想确保二进制文件不会造成危害,请将其通过管道传输到| cat -v,或编写过滤器来捕获不合格的字符。

相关内容