ASP.NET MVC - SQL Injection

Indholdsfortegnelse
Der er mange typer angreb, som vi kan modtage i vores applikationer, en af ​​de mest almindelige, og som kan forårsage en stor mængde skader er SQL -indsprøjtningDette angreb består i at finde sårbarheder i den måde, vi håndterer forespørgsler mod databaser for at udtrække oplysninger eller indsætte værdier, der kan påvirke dets funktionalitet.
For at beskytte os selv mod denne type angreb skal vi først vide, hvad det består af, på denne måde kan vi lære, hvilken type forholdsregler vi skal tage.
Som vi nævnte, får dette angreb vores database til ikke at fungere korrekt, for dette introducerer angriberen data, der får vores forespørgsler til at mislykkes i henhold til visse sårbarheder, med dette kan angriberen prøve få skemaerne af vores tabeller eller indtaste data, der kan kompromittere driften, f.eks indtast en bruger for at få adgang til den administrative sektion i vores applikation.
En af de mest almindelige måder er, at vi indtaster parametre direkte, når vi modtager dem fra controllerne, for eksempel har vi en søgning efter kategorier, og vi modtager fra controlleren identifikatoren for en kategori, der skal søges i, hvis den passerer direkte uden at rense den kan generere et angreb, der viser angriberen alle eksisterende kategorier.
Lad os se på følgende usikre kode:

FORSTØRRE

Vi kan se, hvordan i linje 6 vi bygger søgetilstanden og derefter i linje 10 Vi sender det direkte til den metode, der bygger forespørgslen, et uerfarent øje ser muligvis ikke noget problem, men hvis en angriber indtaster følgende parameter: "1 eller 1 = 1" du kunne få listen over hele vores bord.
Hvordan beskytter vi os selv?Måden at beskytte os selv på i dette tilfælde går gennem to grundlæggende trin, det først er, at vi ikke kan tillade, at data udføres direkte, når vi modtager dem, for dette skal vi før forespørgslen rense parameteren med en metode, der søger efter ulovlige tegn og i tilfælde af at finde dem, sende brugeren til en 404 -side eller siden blev ikke fundet.
Lad os se i følgende kode, hvordan vi kan filtrere, hvad vi modtager:

Her gennemgår vi med en almindelig sætning Lad kun tal være, hvad vores controller modtager, ellers sender vi en besked, alle kan lave deres version, men det vigtige er at kontrollere, hvad vores ansøgning vil modtage.
Det anden trin for at undgå angreb er arbejder ikke med jokertegnet "*" og begræns altid forespørgslerne, når vi venter på en rekord, på denne måde undgår vi at udsætte alle data, hvis nogen formår at overskride vores prognoser.
Fang undtagelserEndelig, hvis en ulovlig parameter kommer ind i vores applikation, skal vi for enhver pris undgå, at et spor af fejlen kommer ud, da den har følsomme data fra vores installation og kan bruges mod os, derfor skal vi altid sørge for at fange undtagelser og send en personlig besked, der ikke indeholder mange detaljer, da disse detaljer kan ses i udviklingsmiljøet.
Som vi kunne se, giver kendskab til angrebene os et andet perspektiv på, hvordan vi kan beskytte vores applikation, og hvordan vi gør for at give mere sikkerhed til vores brugere.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave