È possibile modificare le variabili di sessione di qualcuno e creare un nuovo utente shadow?Variabili della sessione di hacking in Asp.NET
Quali sono i metodi più comuni per evitare tali sorprese?
Installazione certificato SSL o ....?
È possibile modificare le variabili di sessione di qualcuno e creare un nuovo utente shadow?Variabili della sessione di hacking in Asp.NET
Quali sono i metodi più comuni per evitare tali sorprese?
Installazione certificato SSL o ....?
Risposta breve ... dipende.
La sessione in ASP.NET può essere archiviata in vari modi (InProc/SQL Server/Server di stato), ecc. .)
Come il poster in questa risposta suggerisce
Can we hack a site that just stores the username as a session variable?
una cosa che potreste fare quando si autenticare l'utente e memorizzare il loro nome nella sessione, potrebbe essere quella di memorizzare anche alcune altre informazioni su di loro. per esempio. Loro UserAgentString, il loro indirizzo IP e se un IP diverso o UserAgentString hanno tentato di interagire con la sessione, è possibile invalidarlo.
Tutto è possibile, ma per impostazione predefinita è difficile.
Generalmente si dirotta una sessione rubando il cookie di sessione e ricreandolo su un'altra macchina. Tuttavia, per fare ciò, il sito Web deve essere vulnerabile a Cross Site Scripting (che è possibile attenuare con Server.HtmlEncode quando si echeggia l'input dell'utente). Se il risultato è vulnerabile, il cookie di sessione ASP.NET viene contrassegnato come Solo HTTP, il che significa che, se un browser lo supporta, non è accessibile per accedere dagli script sul lato client (sebbene Safari ignori questa impostazione).
Una cosa: l'archiviazione dell'IP contro la sessione è buona, ma non infallibile, il problema è che una forma comune di hacking di sessione è contro qualcuno all'interno dello stesso gruppo IP (ad esempio all'interno di un'azienda o AOL). Preoccupazioni simili per UserAgent (solo con una comunanza molto più alta!) – annakata