UNIXwork

Extended Attributes Teil 9: Windows Commandline Tools

9. December 2019

Windows unterstützt Extended Attributes in Form von Alternate Data Streams (ADS). Ähnlich wie unter Solaris sind Extended Attributes damit keine einfachen Key/Value-Paare, sondern Datei-Streams. Jede Datei hat einen Haupt-Stream mit dem Namen :$DATA. Daneben können aber weitere Streams für eine Datei existieren.

Zugegriffen wird auf ein Attribut bzw. Alternate Data Stream, in dem an den Dateinamen der Stream-Name, getrennt durch einen Doppelpunkt, angehängt wird.

> echo Hello World > test.txt

> type test.txt
Hello World

> echo my attribute value > test.txt:myattribute

> type test.txt:myattribute
my attribute value

Auf den eigentlichen Dateiinhalt kann auch mit dem Stream-Namen :$DATA zugegriffen werde, was auch schon Ursache für Sicherheitslücken war. Den IIS konnte man so austricksen und den Inhalt von ASP-Dateien erhalten, in dem man ::$DATA an die URL angehangen hat.

Da der Stream Teil des Dateipfades ist, kann eigentlich mit jedem beliebigen Programm darauf zugegriffen werden, z.B. auch mit Notepad:

> notepad test.txt:myattribute

Lustigerweise funktioniert dies nicht in den Powershell-Cmdlets. Diese haben jedoch Parameter für den Zugriff auf ADS. Z.B. kann Get-Item alle Streams einer Datei auflisten:

PS D:\> Get-Item -path test.txt -stream *

PSPath        : Microsoft.PowerShell.Core\FileSystem::D:\test.txt::$DATA
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::D:\
PSChildName   : test.txt::$DATA
PSDrive       : D
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : D:\test.txt
Stream        : :$DATA
Length        : 14

PSPath        : Microsoft.PowerShell.Core\FileSystem::D:\test.txt:myattribute
PSParentPath  : Microsoft.PowerShell.Core\FileSystem::D:\
PSChildName   : test.txt:myattribute
PSDrive       : D
PSProvider    : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
FileName      : D:\test.txt
Stream        : myattribute
Length        : 21
Autor: Olaf | 0 Kommentare | Tags: windows, xattr

Kommentare


Name
Webseite (optional)
Captcha: 3x=12   x=?
Kommentar