Indholdsfortegnelse
Der er en form for angreb, som vi er tilbøjelige til, og som vi mange gange overser, dette er Forfalskning på tværs af websteder eller CSRF, dette er ansvarligt for at narre vores applikation til at modtage data, der ikke kommer fra det domæne, hvor den er hostet.Denne type angreb er ret skadelig, da den får en bruger, der er blevet bedraget til at bruge deres godkendelse til at indtaste data i vores database, forestil dig, at med et angreb af denne type administreres en administrativ bruger eller måske falske nyheder i vores nyhedsafdeling .
Som vi forklarede, lurer dette angreb vores applikation til at modtage data, der ikke kommer fra sig selv, for det drager fordel af den måde, hvorpå protokollerne virker som HTTP og dens forskellige metoder, derved kan en angriber opret en formular og peg på vores controller.
For at illustrere dette angreb, lad os se på følgende controller, der er sårbar over for denne type angreb:
Her kan vi se, hvordan vi får dataene direkte fra vores formular, og det er ikke dårligt, det eneste problem er, at vi ikke fortæller vores applikation, at det skal validere dets oprindelse, med dette kan en angriber generere et script som følgende:
FORSTØRRE
Her er det klart, hvad der sker, når du indlæser denne side, sendes formularen, der peger til en bestemt post i databasen, denne formular peger på en gyldig controller, så hvis en godkendt bruger bliver dirigeret til denne side, er vi sandsynligvis i en lidt af et bind.På trods af hvor fatalistisk det kan være, kan dette angreb undgås, for dette skal vi kun foretage nogle valideringer, der garanterer, at de modtagne data kommer fra vores applikation, til dette kan vi bruge nogle af disse teknikker:
Domæne referenceDette består i at kontrollere, hvilket domæne anmodningen kommer fra, med dette garanterer vi, at det er lige fra det domæne, hvor vores applikation er hostet, det eneste problem eller ulempe er, at hvis vi migrerer vores domæneapplikation, skal vi muligvis genopbygge valideringen i tilfælde af vi har ikke. gjort dynamiske. Det er også muligt at foretage en falsk reference ved at drage fordel af applikationssårbarheder som f.eks Adobe flash.
Genereret TokenMed denne mulighed er det, vi gør, at i vores form a polet hvilket er unikt pr. bruger, så vores ansøgning ved modtagelse af formularerne validerer, at token er den samme, på denne måde tillader det, at data accepteres eller ej. Dette er den mest udbredte mulighed, da den er meget let at implementere og har få eller ingen ulemper.
I tilfælde af det genererede token ASP.NET MVC indeholder nogle metoder, der kan hjælpe os, den vigtigste er @ Html.AntiForgeryToken () som genererer den hemmelige nøgle, hvormed vores ansøgning kan validere formularerne.
Vi ser da, at der er flere områder, end vi tror, og at vi skal passe på i vores applikationer, så vi skal informere os selv og være opmærksomme på, hvordan angreb sker for at udtænke måder at undgå dem på.