【发布时间】:2019-01-15 18:45:47
【问题描述】:
对于安全测试,我需要传递一个在其内容和文件名中包含空字符的文件。
对于正文内容,使用方便printf:
$ printf "Hello\00, Null!" > containsnull.txt
$ xxd contains.null
0000000: 4865 6c6c 6f00 2c20 4e75 6c6c 21 Hello., Null!
但是如何创建名称中包含空字节的文件?
注意:如果可能,首选bash、python 或nodejs 中的解决方案
【问题讨论】:
-
NUL是我所知道的每个文件系统的文件名中的非法字符。 -
@MichaWiedenmann, en.wikipedia.org/wiki/Filename posix 不允许空字符。
-
@MichaWiedenmann: NUL 是一个非法字符吗? 由于大多数操作系统使用 C 样式字符串(与 RL 字符串或 Pascal 字符串相反),因此文件名字符串使用 NUL 来确定文件名字符串的结尾。您可能能够强制字符串包含 NUL,但您不太可能能够处理生成的文件。
-
变量名或文件名不能包含NUL