Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Webbplatser och appar kräver ofta användarinput för att uppfylla sitt fulla syfte. Om en webbplats tillåter användare att prenumerera måste användarna kunna ange sin e-postadress. Och onlineshopping kräver naturligtvis inmatning av betalningsuppgifter.

Problemet med användarinmatning är dock att det också tillåter en hackare att ange något skadligt i ett försök att lura webbplatsen eller appen att missköta sig. För att skydda mot detta måste alla system som erbjuder användarinmatning ha indatavalidering.

Så vad är indatavalidering och hur fungerar det?

Vad är indatavalidering?

Indatavalidering är processen att analysera indata och förbjuda de som anses olämpliga. Tanken bakom indatavalidering är att genom att endast tillåta indata som uppfyller specifika kriterier, blir det omöjligt för en angripare att ange en input som är utformad för att skada ett system.

instagram viewer

Indatavalidering bör användas på alla webbplatser eller applikationer som tillåter användarinmatningar. Även om en webbplats eller app inte lagrar någon konfidentiell information, kan tillåtelse av ogiltiga inmatningar också orsaka problem med användarupplevelsen.

Varför är indatavalidering viktigt?

Indatavalidering är viktigt av två skäl, nämligen användarupplevelse och säkerhet.

Användarupplevelse

Användare anger ofta ogiltiga inmatningar, inte för att de försöker attackera en webbplats eller app, utan för att de gjorde ett misstag. En användare kan stava ett ord felaktigt eller ge fel information, som att ange sitt användarnamn i fel ruta eller prova ett föråldrat lösenord. När detta händer kan indatavalidering användas för att informera användaren om sitt fel, så att de snabbt kan åtgärda det.

Validering av indata förhindrar också scenarier där registreringar och försäljning går förlorade på grund av att en användare inte är informerad och därför tror att korrekt input har tillhandahållits när den inte har gjort det.

säkerhet

Indatavalidering förhindrar ett brett utbud av attacker som kan utföras mot en webbplats eller applikation. Dessa cyberattacker kan orsaka stöld av personlig information, tillåta obehörig åtkomst till andra komponenter och/eller hindra en webbplats/applikation från att fungera.

Utelämnandet av indatavalidering är också lätt att upptäcka. Angripare kan använda automatiserade program för att ange ogiltiga indata på webbplatser i bulk och avgöra hur webbplatserna reagerar. De kan sedan starta manuella attacker på alla webbplatser som inte är skyddade.

Detta innebär att brist på indatavalidering inte bara är en viktig sårbarhet; det är en sårbarhet som ofta kommer att hittas och kan därför ofta orsaka hacks.

Vad är Input Validation Attacks?

En indatavalideringsattack är varje attack som involverar att lägga till skadlig indata i ett användarinmatningsfält. Det finns många olika typer av indatavalideringsattacker som försöker göra olika saker.

Buffer-överflöde

Ett buffertspill uppstår när för mycket information läggs till ett system. Om indatavalidering inte används finns det inget som hindrar en angripare från att lägga till så mycket information som de vill. Detta kallas a buffertspillattack. Det kan få ett system att sluta fungera och/eller ta bort information som för närvarande är lagrad.

SQL-injektion

SQL-injektion är processen att lägga till SQL-frågor till inmatningsfält. Det kan ta formen av att lägga till en SQL-fråga i ett webbformulär eller lägga till en SQL-fråga till en URL. Målet är att lura systemet att köra frågan. SQL-injektion kan användas för att komma åt säker data och för att ändra eller ta bort data. Detta innebär att indatavalidering är särskilt viktig för alla webbplatser eller appar som lagrar viktig information.

Cross-site scripting

Cross-site scripting involverar lägga till kod i användarinmatningsfält. Det utförs ofta genom att lägga till kod i slutet av en URL som tillhör en ansedd webbplats. URL: en kan delas via forum eller sociala medier och koden exekveras sedan när ett offer klickar på den. Detta skapar en skadlig webbsida som verkar finnas på den välrenommerade webbplatsen.

Tanken är att om ett offer litar på målwebbplatsen ska de också lita på en skadlig webbsida som verkar tillhöra den. Den skadliga webbsidan kan utformas för att stjäla tangenttryckningar, omdirigera till andra sidor och/eller starta automatiska nedladdningar.

Hur man implementerar indatavalidering

Indatavalidering är inte svårt att implementera. Du behöver helt enkelt ta reda på vilka regler som krävs för att förhindra ogiltig inmatning och sedan lägga till dem i systemet.

Skriv alla dataingångar

Skapa en lista över alla möjliga användarinmatningar. Detta kommer att kräva att du tittar på alla användarformulär och överväger andra typer av indata som URL-parametrar.

Skapa regler

När du har en lista över alla indata bör du skapa regler som dikterar vilka indata som är acceptabla. Här är några vanliga regler att implementera.

  • Vitlista: Tillåt endast inmatning av specifika tecken.
  • Svartlistning: Förhindra att specifika tecken matas in.
  • Format: Tillåt endast indata som följer ett visst format, dvs tillåt endast e-postadresser.
  • Längd: Tillåt endast ingångar upp till en viss längd.

Implementera regler

För att implementera reglerna måste du lägga till kod på webbplatsen eller applikationen som avvisar all inmatning som inte följer dem. På grund av hotet från ogiltiga indata bör systemet testas innan det går live.

Skapa svar

Förutsatt att du vill att indatavalidering också ska hjälpa användare, bör du lägga till meddelanden som förklarar både varför en inmatning är felaktig och vad som ska läggas till istället.

Indatavalidering är ett krav för de flesta system

Indatavalidering är ett viktigt krav för alla webbplatser eller appar som tillåter användarinmatning. Utan kontroll över vilken indata som läggs till ett system, har en angripare en rad tekniker som kan användas i hackningssyfte.

Dessa tekniker kan krascha ett system, ändra det och/eller tillåta åtkomst till privat information. System utan indatavalidering blir populära mål för hackare och internet letas ständigt efter dem.

Även om indatavalidering främst används för säkerhetsändamål, spelar den också en viktig roll för att tala om för användare när de lägger till något felaktigt.