AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Named Pipe mit verminderten Rechten

Ein Thema von Shark99 · begonnen am 1. Dez 2010 · letzter Beitrag vom 2. Dez 2010
Antwort Antwort
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#1

Named Pipe mit verminderten Rechten

  Alt 1. Dez 2010, 18:44
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;
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#2

AW: Named Pipe mit verminderten Rechten

  Alt 1. Dez 2010, 19:37
Guck mal hier.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#3

AW: Named Pipe mit verminderten Rechten

  Alt 1. Dez 2010, 19:53
Du musst erstmal mit dem Besitzer, der Gruppe und der DACL anfangen:
Code:
O:BAD:(A;;CCDC;;;IU)
Sieh auch:
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#4

AW: Named Pipe mit verminderten Rechten

  Alt 1. Dez 2010, 21:11
Du musst erstmal mit dem Besitzer, der Gruppe und der DACL anfangen:
Code:
O:BAD:(A;;CCDC;;;IU)
Sieh auch:
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
Nicht unbedingt, siehe:

http://msdn.microsoft.com/en-us/library/bb625958.aspx

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: SML;;NW;;;LW).
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#5

AW: Named Pipe mit verminderten Rechten

  Alt 1. Dez 2010, 22:00
p.s.

Habe eben festgestellt dass wenn ich meine App als Admin starte alles glatt durchgeht. Ist leider keine Lösung.
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#6

AW: Named Pipe mit verminderten Rechten

  Alt 2. Dez 2010, 20:42
Du musst erstmal mit dem Besitzer, der Gruppe und der DACL anfangen:
Code:
O:BAD:(A;;CCDC;;;IU)
Sieh auch:
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
Nicht unbedingt, siehe:

http://msdn.microsoft.com/en-us/library/bb625958.aspx

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: SML;;NW;;;LW).
Das mag ja sein, aber dies bezieht sich eigentlich auf [S|G]et[Named]SecurityInfo. Da kannst du nur den gewünschten Teil ändern. Aber für das Erstellen eines Objektes musst du etwas mehr tun, da sonst der SD anders aussieht als wenn man nil angeben würde. Das könnte sich auf den Zugriff auswirken. Siehe angehängtes Bild.

Ach übrigens:
p.s.

Habe eben festgestellt dass wenn ich meine App als Admin starte alles glatt durchgeht. Ist leider keine Lösung.
Seltsam, dass es mit Admin geht, denn dieser Code: ...
Delphi-Quellcode:

FSA.lpSecurityDescriptor := @FSD;
... sollte so aussehen:
Delphi-Quellcode:

FSA.lpSecurityDescriptor := FSD;
Dann klappt es auch mit der Pipe, denn FSD ist doch schon ein Zeiger auf einen SD.


Interessant ist aber auch, dass ein nachträgliches Ändern des Integrity Labels, wie in diesem Kapitel Lowering Resource Integrity (bitte die Suche benutzen) nicht mit NamedPipes funktioniert (Fehler 5 : Zugriff verweigert), jedoch mit Dateien und MemoryMappedFiles (andere habe ich nicht weiter ausprobiert).
Miniaturansicht angehängter Grafiken
sds.jpg  
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz