Zitat von
sniper_w:
Und wieso ist das so?
Normalerweise wird ASP.NET Hostprocess impersonated, d.h. unter dem für die Webseite voreingestelltem Benutzerkonto ausgefürt. Das hat die Folge, dass man die Berechtigungen über das Dateisystem abbilden kann. Die Berechtigungen sind im normal Fall so eingeschränkt, dass man mit seiner Applikation nirgendwo schreiben kann ausser explizit erlaubt.Lesen geht nur im ~ (Applikationrootordener) und darunter.
Verpasse ich etwas?
Jain. ASP.NET Prozesse laufen entweder unter einem fest eingestellten Konto, ODER mittels impersonation als der (System-)User, der sich an der Webanwendung angemeldet hat (Sei es Basic, NTLM oder auch Windows Forms Authentication).
Aber es geht nicht nur um Filesystemberechtigungen.
Full trust erlaubt es einer Webanwendung z.B. auch, dynamischen Code zu erzeugen.
Ein Angreifer hätte also rein theoretisch die Möglichkeit Code zu generieren der (möglicherweise unter Ausnutzung anderer Sicherheitlücken) den Prozess erneut impersoniert und zwar z.B. mit dem System-Account. Und dann gute Nacht bis um 12, denn dann ist alles möglich.
Selbst wenn der Prozess eingeschränkt ist: Full trust ist eigentlich generell eine ganz schlechte Idee.