Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: ShellExecuteEx + Vererbung von Handles möglich?

  Alt 23. Aug 2009, 10:29
Das Problem an DuplicateHandle ist aber, dass man sich damit eine Sicherheitslücke einfängt. Ich musste mal aus einem Service ein Programm starten und konnte auch keine Handle-Vererbung nutzen (diese streikt nämlich über Session-Grenzen hinweg). Damit der Kindprozess DuplicateHandle nutzen kann, muss die eigene Prozess-DACL das Recht PROCESS_DUP_HANDLE gewähren. Ein böser Prozess kann jetzt aber DuplicateHandle nutzen, um volle Rechte auf den Service zu erhalten: Dazu dupliziert er einfach GetCurrentProcess. Bei dir dürfte dieser Fall kein Problem darstellen, da dein startender Prozess keine besonderen Rechte hat, aber er sollte vor Augen führen, dass Handle-Vererbung nicht immer so leicht zu ersetzen ist.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat