0x0d0x0a 的隐藏目录

信息安全 linux
2021-08-29 19:12:44

有人隐藏了一个目录来欺骗 FTP 帐户的策略。目录名称是0x0d0x0a.

用户如何创建具有该名称的文件夹?

该目录几乎是不可见的,ls但可以通过find.

1个回答

目录名称不是字符串“0x0d0x0a”(八个明显可见的字符),而是由两个字符组成的字符串,ASCII“CR”(回车)和“LF”(换行),它们被编码为两个值 13(十六进制的 0x0D)和 10(0x0A)的字节,分别。

从操作系统的角度来看,文件名和目录名只是一串字节,只有两个特殊的字节值:0x00(终止字符串)和 0x2F(在路径中分隔目录名的 '/')(我假设这里有一个类 Unix 服务器,但在 Windows 系统上情况类似)。值 0x0D 和 0x0A 的字节对于内核根本没有特殊意义。然而,具有基于文本输出的工具可能会被愚弄(例如,它可能将名称显示为换行符,这样在输出中不会清晰可见)。

使用 Linux shell,您可以使用以下命令创建这样的目录:

mkdir `printf '\x0d\x0a'`

要从 FTP 客户端执行此操作,您必须深入研究FTP 协议的工作方式,以便了解如何对相应的 MKD 命令进行编码,但我认为在概念上没有不可能。