![]() |
Named Pipe mit verminderten Rechten
Ich versuche unter Windows 7 ein Named Pipe zu erzeugten welches mit verminderten Sicherheitsattributen läuft damit der Internet Explorer im Protected Mode darauf zugreifen kann.
Es klappt jedoch nicht. LastGetError liefert das: "The revision level is unknown". Wenn ich @FSA durch nil ersetzte wird ein normaler Named Pipe erzeugt, der auch funktioniert. Hier der Code:
Delphi-Quellcode:
...
uses Classes, JwaAclApi, JwaAccCtrl, JwaSddl, JwaWinBase, Windows, JwaWinNT, Dialogs, SysUtils; ... implementation procedure StartServer; var FSA: SECURITY_ATTRIBUTES; FSD : JwaWinNT.PSECURITY_DESCRIPTOR; sDescriptor: string; begin FHandle := INVALID_HANDLE_VALUE; sDescriptor := 'S:(ML;;NW;;;LW)'; if JwaSddl.ConvertStringSecurityDescriptorToSecurityDescriptor( PChar(sDescriptor), SECURITY_DESCRIPTOR_REVISION, FSD, NIL ) then begin FSA.lpSecurityDescriptor := @FSD; FSA.nLength := sizeof(SECURITY_ATTRIBUTES); FSA.bInheritHandle := True; FHandle := CreateNamedPipe(PChar(FPipeName), PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE or PIPE_READMODE_MESSAGE or PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, SizeOf(RPIPEMessage), SizeOf(RPIPEMessage), NMPWAIT_USE_DEFAULT_WAIT, @FSA); if FHandle = INVALID_HANDLE_VALUE then ShowMessage('error: '+SysErrorMessage(GetLastError)); end else begin Showmessage('error #1'); end; end; |
AW: Named Pipe mit verminderten Rechten
Guck mal
![]() |
AW: Named Pipe mit verminderten Rechten
Du musst erstmal mit dem Besitzer, der Gruppe und der DACL anfangen:
Code:
Sieh auch:
O:BAD:(A;;CCDC;;;IU)
![]() |
AW: Named Pipe mit verminderten Rechten
Zitat:
![]() An example of the SDDL for a mandatory label ACE in a SACL that specifies NO_WRITE_UP policy for low integrity level is the following: S:(ML;;NW;;;LW). |
AW: Named Pipe mit verminderten Rechten
p.s.
Habe eben festgestellt dass wenn ich meine App als Admin starte alles glatt durchgeht. Ist leider keine Lösung. |
AW: Named Pipe mit verminderten Rechten
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ach übrigens: Zitat:
Delphi-Quellcode:
... sollte so aussehen:FSA.lpSecurityDescriptor := @FSD;
Delphi-Quellcode:
Dann klappt es auch mit der Pipe, denn FSD ist doch schon ein Zeiger auf einen SD. :)FSA.lpSecurityDescriptor := FSD; :warn:Interessant ist aber auch, dass ein nachträgliches Ändern des Integrity Labels, wie in diesem Kapitel ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz