Thanks.txt Secret.txt notepad.txt notepad.txt
しかし、あなたが気づいていないデータがファイル内にあるとしたらどうでしょうか。
そこで、代替データ ストリームが活躍するのです。exe (Command Prompt) を使用して例を示しますが、CLI (Command Line Interface) を理解しやすくするため、Power Shell を使用しても同じ結果を得ることができます。
そこで、コマンド プロンプトを使用して自分のディレクトリの内容を表示すると、自分の secret.
dir
これは普通のファイルのようですが、もし私のコマンドに /r を追加したらどうでしょうか?
dir /r
ここで、同じディレクトリにもともと作った secret.C と同じプレフィックスで別のファイルを見てみることにします。
コマンドに /r を追加することにより、両方のファイルが同じディレクトリにあることがわかりますが、secret.txt しか表示されないことがわかります。
両方のコマンドの出力を比較すると、secret.txt ファイルはまだ 33 バイトですが、secret.txt:evil.txt は 74 バイトで secret.txt の 2 倍以上になっていることも確認できます。
# First Command
dir# Second Command
dir /r
これで、より正確に両方のコマンドの情報を確認でき、より明確に変化を確認できることになりました。
- 両方の出力は、ディレクトリ内に2つのファイルしかないと言い、同じサイズを与えます。それは、secret.txtとsecret.txt:evil.txtが異なるファイルではなく、同じファイルであり、データが別々のストリームに保存されているからです。
- ディレクトリ内の総使用領域とシステムで利用できる領域は依然として同じままです。
両者の内容を一緒に見てみましょう。
両者を見ながら、内容が異なることがわかりますが、ファイルの名前の違いも確認でき、複数の目的で別のデータストリームに情報を簡単に格納できることがわかります。 NTFSファイルシステムでは、データストリームはFileName:StreamName:StreamTypeという基本的な命名規則に従っています。つまり、NTFSファイルシステムにおけるsecret.txtのフルネームは、secret.Txtとなります。txt::$DATA
メモ帳で開かずに両方を表示する別の方法は次のとおりです。
# View secret.txt
type secret.txt# View Alternate Data Stream
more < secret.txt:evil.txt