Lita inte på data från användare…
… eller andra system, klienter, webbtjänster eller systemsamband heller för den delen!
En av de mer populära attackerna mot webbsajter just nu är HTML-injections. Det innebär att attackeraren injecerar skadlig script- eller HTML-kod som visas på den infekterade webbsajtens sidor. Koden kan exempelvis vara ett script som hämtas från en annan sajt - som i sin tur kan stjäla cookies från intet ont anande användare eller hitta på andra hyss. Själva injeceringen sker vanligtvis via formulärinmatning, men kan även - som jag skrev i inledningen - komma ifrån t.ex. ett annat system via ett systemsamband.
Hur skyddar man sig då mot detta? Svaret är kanska enkelt – använder du ASP.NET så använd alltid Server.HtmlEncode eller HttpUtility.HtmlEncode för att koda den data som skrivs ut från dina sidor till harmlös HTML-representation. T.ex. kodas < och > om till < och > vilket omöjliggör att oönskade script som ligger inbäddade i det data som skrivs ut kan exekvera i sidan.
Comments
- Anonymous
March 11, 2009
Robert Folkesson har nämnt hur viktigt det är att skydda sig mot XSS , vilket är ett väldigt viktigt