Über Twitter wurden wir darauf hingewiesen, dass LiveConfig anfällig für Session Hijacking sei, da keine Validierung der Session erfolge.
Da die Antwort nicht in einen Tweet passt, mache ich das hier etwas ausführlicher.
LiveConfig verwaltet seine Session-ID über die URL, da mehrere gleichzeitige Sessions mit dem selben Browser über Cookie-basierte Session-IDs nicht möglich sind.
Wenn ein Angreifer die Möglichkeit hat, im Browser die Session-ID aus der URL auszulesen, dann könnte er genauso auch ein Cookie auslesen - die URL-Variante ist daher prinzipiell nicht unsicherer. Um zu verhindern, dass die URL durch ein Klick auf einen externen Link über den Referrer nach außen gelangt, sind alle externen Links innerhalb von LiveConfig durch einen Dereferrer geschützt.
Da LiveConfig nicht anfällig für XSS (Cross Site Scripting) ist, besteht die einzige "Gefahr" also in einer bewußten oder unbewußten Weitergabe der URL mitsamt Session-ID (z.B. Screenshot, ...).
Um diesem vorzubeugen, werden wir in der nächsten Preview-Version (1.1.4) ein zusätzliches Cookie mit speichern, welches die Verwendung der Session-ID auf den jeweiligen Browser begrenzt.
Eine Begrenzung auf die IP-Adresse des Logins (bzw. einer /16 (IPv4) oder /64 (IPv6) Maske) macht unserer Erfahrung nicht immer Sinn; wir haben häufig den Fall erlebt, dass ein Nutzer mehrere verschiedene Internet-Uplinks gleichzeitig nutzt (Outbound Load Balancing), die in völlig verschiedenen Netzbereichen lagen.
Wir werden dies aber als zusätzliche Option mit integrieren (die meisten Anwender haben ja nur einen Uplink ;))
Weitere Vorschläge und Diskussionen sind herzlich willkommen.
Viele Grüße
Klaus Keppler