C# Windows Passwort auslesen

S

Sasku

Gast
Hallo,

ich bin gerade dabei, ein kleines Programm zu schreiben, indem man sich mit seinem Passwort von Windows einloggen muss ... allerdings stoße ich da gerade auf eine kleine Hürde .. Wie kann ich das Windows Passwort auslesen?

ich habe da was bei MSDN gefunden .. .allerdings versteh ich das nich so richtig ^^

https://msdn.microsoft.com/de-de/library/kx96zecz(v=vs.110).aspx

weil es wird ja wohl nicht reichen :

Code:
string user = Environment.UserName.ToString();
string Password; 

Password = user.getPassword();

oder vielleicht doch? Kann ja eigentlich nicht sein ... weil user ja nur ein String und keine Referenz auf Windows o.ä. hat?

ich werde aus dem von der MSDN-Seite nicht ganz schlau .. .kann mir jemand helfen?

es sollte ja möglich sein, das Windows Passwort heraus zu suchen....
 
Schau dir mal die Beispiele weiter unten an. Da wird ganz gut gezeigt, wie du das Passwort erhälst. Tipp: Nicht den Usernamen als String ermitteln, sondern als MembershipUser.
 
ich habs mir angeschaut .. ich steh grad bloß ziemlich aufn schlauch ... heist ich nehme

Code:
string user = Envoronment.UserName.ToString();

MembershipUser u = Membership.GetUser(user, false);
string Password; 

Password = u.getPassword();

.. nimmt er dann automatisch von Windows das Passwort? weil bei MSDN steht etwas von using System.Web.Security... Würde für mich irgendwas von Internet bedeuten ... naja und das kanns ja auch nich sein .. oder?
 
Zuletzt bearbeitet von einem Moderator:
Ich bin davon ausgegangen dass du das Passwort gar nicht auslesen kannst. Dann könnte das ja jedes böswillige Programm auch tun und verschicken.

Das Password liegt in einem Safe. Windows sagt dir nur ist richtig oder ist falsch, aber gibt das Passwort selber gar nicht raus.

Umgang mit Passwörtern ist richtig kompliziert, in deinem Code willst du es in einen String einlesen. Damit liegt das Passwort im Klartext im Arbeitsspeicher. Um solche Konstrukte zu verhindern dürfte Windows das Passwort gar nicht rausgeben.

Ich glaube sogar, daß Windows das Passwort selber gar nicht kennt, sondern nur den salted hash abspeichert und diesen bei einer Passworteingabe überprüft. Der salted hash lässt keine Rückschlüsse auf das Passwort zu. Daher ist es ja auch nicht so tragisch, wenn bei Datendiebstahl die Datenbank ordentlich geführt wurde, dann sind die Informationen für den Dieb wertlos.


Willst du auf die Windows Anmeldung zurückgreifen, dann musst du die Windows APIs nutzen, die die Anmeldung am OS an deine Anwendung durchreichen.

Selber das Passwort abzufragen und zu checken ob es dem von Windows entspricht wird nicht gehen.


Sicher bin ich mir nicht, hab zuletzt zu NT4.0 Zeiten mit user credentials gearbeitet.
 
ich dachte mir schon, dass es nicht so einfach wird ... ^^

Ja dann werde ich mich wohl mit der API auseinander setzen müssen .. danke!
 
Zurück
Oben