AW: [gelöst]Impersonate in TService
Nachmal ein Nachtrag von mir. Ich hab noch Probleme gehabt mich auf eine Samba-Freigabe zu verbinden nachdem das Impersonate erfolgreich verlaufen ist.
Windows prüft über die API nur die Korrektheit des Passworts als Hashwert, merkt es sich aber nicht in Klartext. Darum ist es ihm nicht möglich das Passwort bei der Anmeldung am Samba-Dienst zu übergeben. Kein Bug, ein "Sicherheitsfeature", dass sich gottseidank sehr leicht umgehen lässt (Was bringt das dann? :roll:). Will man sich mit seinem Benutzernamen an einem Server anmelden (das wird nicht nur für Samba zutreffen nehme ich an) muss man eine Konstante verwenden, die zumindest in D2k9, in der Windows.pas fehlt. So hab ich's dennoch hin bekommen:
Delphi-Quellcode:
Diese Vorgehensweise ist im MSDN dokumentiert. Dort hab ichs gefunden.
function Impersonate(const aUser, aPass: string): Boolean;
var LogonType: Integer; LogonProvider: Integer; User: String; Pass: String; Token: THandle; const LOGON32_LOGON_NETWORK_CLEARTEXT = 8; // Fehlt in der Windows.pas begin LogonType := LOGON32_LOGON_NETWORK_CLEARTEXT; //LOGON32_LOGON_INTERACTIVE; LogonProvider := LOGON32_PROVIDER_DEFAULT; User := aUser; Pass := aPass; Result := LogonUser(PChar(User), nil {Domain}, PChar(Pass), LogonType, LogonProvider, Token); if Result then Result := ImpersonateLoggedOnUser(Token); end; Gruß, Toni |
AW: [gelöst]Impersonate in TService
Zitat:
|
AW: [gelöst]Impersonate in TService
Stimmt schon. Aber würde ich jetzt mit bösen Absichten hier sitzen, hätte ich den Abschnitt im MSDN auch gefunden. Darum leuchtet mir nicht ein in wie fern das die API oder Das Betriebsystem im Ganzen jetzt sicherer gemacht hat. Aber darüber ließe sich sicher vortrefflich Tagelang diskutieren...
[Edit]Der Grundgedanke dahinter wird wohl sein dass das Passwort nicht unnötigerweise in Klartext irgendwo im Speicher steht von wo es ein böser Mensch evtl auslesen kann. Die Frage ist aber doch ob ein Haus besser geschützt ist, um bei deiner Analogie zu bleiben, wenn von vielen vorhanden Türen nur noch der Haupteingang offen steht?[/Edit] Toni |
AW: [gelöst]Impersonate in TService
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 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