所以,我有一个挑战,如下所示。
您可以在干净的 RHEL 6 安装中访问普通的 shell(sh)。将任意内容写入
file.txt,但不包含以下字符。
# & \ + - % @ = : ; , . ' " ^ ` ~ _ | ! / ? * $ # < > [ ] { } ( )
我可以使用 like touch fileorrm file但touch file.txtor由于andecho content > file.txt是不允许的。.>
这甚至可能吗?
所以,我有一个挑战,如下所示。
您可以在干净的 RHEL 6 安装中访问普通的 shell(sh)。将任意内容写入
file.txt,但不包含以下字符。
# & \ + - % @ = : ; , . ' " ^ ` ~ _ | ! / ? * $ # < > [ ] { } ( )
我可以使用 like touch fileorrm file但touch file.txtor由于andecho content > file.txt是不允许的。.>
这甚至可能吗?
这很简单:检查 python、perl 或任何解释语言的可用性,然后启动解释器并编写代码!
00 E '' 10 E $'\020' 20 E \ 46 - F 56 - V 6C - l
01 E $'\001' 11 E $'\021' 30 - 0 47 - G 57 - W 6D - m
02 E $'\002' 12 E $'\022' 31 - 1 48 - H 58 - X 6E - n
03 E $'\003' 13 E $'\023' 32 - 2 49 - I 59 - Y 6F - o
04 E $'\004' 14 E $'\024' 33 - 3 4A - J 5A - Z 70 - p
05 E $'\005' 15 E $'\025' 34 - 4 4B - K 61 - a 71 - q
06 E $'\006' 16 E $'\026' 35 - 5 4C - L 62 - b 72 - r
07 E $'\a' 17 E $'\027' 36 - 6 4D - M 63 - c 73 - s
08 E $'\b' 18 E $'\030' 37 - 7 4E - N 64 - d 74 - t
09 E $'\t' 19 E $'\031' 38 - 8 4F - O 65 - e 75 - u
0A E $'\n' 1A E $'\032' 39 - 9 50 - P 66 - f 76 - v
0B E $'\v' 1B E $'\E' 41 - A 51 - Q 67 - g 77 - w
0C E $'\f' 1C E $'\034' 42 - B 52 - R 68 - h 78 - x
0D E $'\r' 1D E $'\035' 43 - C 53 - S 69 - i 79 - y
0E E $'\016' 1E E $'\036' 44 - D 54 - T 6A - j 7A - z
0F E $'\017' 1F E $'\037' 45 - E 55 - U 6B - k 7F E $'\177'
...嗯,这很短!
:and =, 我们很短...tar和cpio需要,-uudecode将需要第一条数据线包含-和.munpack很多:和一些相同="--",dd,tee等等将需要 dot 进行扩展.... (也许这个:(tee file܂txt注意点܂是 UTF-8 ܂,不是真正的点.),然后Hello world是Ctrl+ d,但没有评论).txt扩展名的编辑器不。
如果您的质询规则明确表示您需要.txt在文件名中添加 a 但是,这可能是一个有争议的问题。
由于这是一个 Linux 发行版,我不认为该扩展名应该具有如此重要的意义,因为该文件仍将被视为 ASCII 文本文件,前提是该文件的前两个字节不组合创建一个shebang或其他魔术字符否则会改变文件的解释。请参阅此线程以获取更多说明。
您应该可以使用它tee来创建file、写入所有文本而不会出现问题,然后通过运行检查它是否仍然是文本文件file file。