web application security testing guide
konvertere youtube video til mp4 online gratis
På grunn av den enorme mengden data som er lagret i webapplikasjoner og en økning i antall transaksjoner på nettet, blir riktig sikkerhetstesting av webapplikasjoner veldig viktig hver dag.
I denne artikkelen vil vi lære detaljert om nøkkelordene som brukes i testing av nettstedsikkerhet, og hvordan det blir testet.
Hva du vil lære:
- Hva er sikkerhetstesting?
- Noen viktige vilkår som brukes i sikkerhetstesting
- Anbefalte verktøy for sikkerhetstesting
- Sikkerhetstest tilnærming
- Metoder for websikkerhetstesting
- Konklusjon
- Anbefalt lesing
Hva er sikkerhetstesting?
Sikkerhetstesting er prosessen som kontrollerer om konfidensielle data forblir konfidensielle eller ikke (dvs. den er ikke utsatt for enkeltpersoner / enheter som den ikke er ment for), og brukerne kan bare utføre de oppgavene de er autorisert til å utføre
For eksempel, en bruker skal ikke kunne nekte funksjonaliteten til nettstedet til andre brukere, eller en bruker skal ikke kunne endre funksjonaliteten til webapplikasjonen på en utilsiktet måte etc.
Noen viktige vilkår som brukes i sikkerhetstesting
Før vi går videre, vil det være nyttig å gjøre oss kjent med få begreper som ofte brukes i sikkerhetstesting av webapplikasjoner:
Hva er 'sårbarhet'?
Dette er svakheten i webapplikasjonen. Årsaken til en slik 'svakhet' kan skyldes feilene i applikasjonen, en injeksjon (SQL / script-kode) eller tilstedeværelsen av virus.
Hva er “URL Manipulation”?
Noen webapplikasjoner kommuniserer tilleggsinformasjon mellom klienten (nettleseren) og serveren i URL-en. Endring av noe informasjon i URL-en kan noen ganger føre til utilsiktet oppførsel fra serveren, og dette betegnes som URL-manipulering .
Hva er “SQL-injeksjon”?
Dette er prosessen med å sette inn SQL-setninger gjennom webapplikasjonsbrukergrensesnittet i noen spørsmål som deretter kjøres av serveren.
Hva er 'XSS (Cross-Site Scripting)'?
Når en bruker setter inn HTML / klientsideskript i brukergrensesnittet til en webapplikasjon, er denne innsettingen synlig for andre brukere og blir betegnet som XSS .
Hva er 'Spoofing'?
Opprettelsen av lurende nettsteder eller e-postmeldinger kalles Spoofing .
Anbefalte verktøy for sikkerhetstesting
# 1) Acunetix
programvareutvikling livssyklusanalysefase
Acunetix er en ende-til-ende sikkerhetsskanner for webapplikasjoner. Det gir en 360-graders oversikt over sikkerheten til organisasjonen din. Den er i stand til å oppdage 6500 typer sårbarheter som SQL-injeksjoner, XSS og svake passord, etc. Den bruker avansert makroopptaksteknologi for å skanne komplekse flernivåskjemaer.
Plattformen er intuitiv og enkel å bruke. Du kan planlegge og prioritere fulle skanninger samt trinnvise skanninger. Den inneholder en innebygd funksjonalitet for sårbarhetsadministrasjon. Ved hjelp av CI-verktøy som Jenkins kan nybygg skannes automatisk.
=> Prøv Acunetix for Web App Security
# 2) Kiuwan
Finn og fikse sårbarheter i koden din på hvert trinn av SDLC.
Kiuwan er i samsvar med de strengeste sikkerhetsstandardene, inkludert OWASP, CWE, SANS 25, HIPPA og mer.Integrer Kiuwan i IDE-en din for øyeblikkelig tilbakemelding under utviklingen. Kiuwan støtter alle de viktigste programmeringsspråkene og integreres med ledende DevOps-verktøy.
=> Skann koden din gratis
Sikkerhetstest tilnærming
For å utføre en nyttig sikkerhetstest av et webapplikasjon, bør sikkerhetstesteren ha god kunnskap om HTTP-protokollen.
Det er viktig å ha forståelse for hvordan klienten (nettleser) og serveren kommuniserer ved hjelp av HTTP.
I tillegg bør testeren i det minste kjenne det grunnleggende om SQL-injeksjon og XSS.
Forhåpentligvis vil ikke antallet sikkerhetsdefekter som er tilstede i webapplikasjonen være høyt. Å være i stand til å beskrive alle sikkerhetsfeilene nøyaktig med alle nødvendige detaljer, vil imidlertid definitivt hjelpe.
Metoder for websikkerhetstesting
# 1) Passordsprekker
Sikkerhetstesten på en Webapplikasjon kan sparkes i gang med 'Password Cracking'. For å logge på de private områdene i applikasjonen, kan man enten gjette et brukernavn / passord eller bruke noe passordcracker-verktøy for det samme. En liste over vanlige brukernavn og passord er tilgjengelig sammen med åpen kildekode-passord.
Hvis webapplikasjonen ikke håndhever et komplekst passord ( For eksempel, med alfabeter, antall og spesialtegn eller med minst et nødvendig antall tegn), tar det kanskje ikke lang tid å knekke brukernavnet og passordet.
Hvis et brukernavn eller passord er lagret i informasjonskapsler uten kryptering, kan en angriper bruke forskjellige metoder for å stjele informasjonskapslene og informasjonen som er lagret i informasjonskapslene, som brukernavn og passord.
For mer informasjon, se en artikkel om “ Testing av informasjonskapsler på nettstedet ”.
# 2) URL-manipulering gjennom HTTP GET-metoder
En tester bør sjekke om applikasjonen sender viktig informasjon i spørringsstrengen eller ikke. Dette skjer når applikasjonen bruker HTTP GET-metoden for å formidle informasjon mellom klienten og serveren.
Informasjonen sendes gjennom parametrene i spørringsstrengen. Testeren kan endre en parameterverdi i spørringsstrengen for å sjekke om serveren godtar den.
Via HTTP GET-forespørsel overføres brukerinformasjon til serveren for autentisering eller henting av data. Angriperen kan manipulere hver inngangsvariabel som sendes fra denne GET-forespørselen til en server for å få den nødvendige informasjonen eller å ødelegge dataene. Under slike forhold er enhver uvanlig oppførsel fra applikasjon eller webserver døråpningen for angriperen å komme inn i et program.
# 3) SQL-injeksjon
Den neste faktoren som skal kontrolleres er SQL Injection. Å legge inn et enkelt tilbud (‘) i en hvilken som helst tekstboks bør avvises av søknaden. I stedet, hvis testeren støter på en databasefeil, betyr det at brukerinngangen settes inn i et spørsmål som deretter kjøres av et program. I et slikt tilfelle er applikasjonen sårbar for SQL-injeksjon.
SQL-injeksjonsangrep er veldig kritiske, ettersom en angriper kan få viktig informasjon fra serverdatabasen. For å sjekke SQL-injeksjonsinngangspunkter i webapplikasjonen din, finn ut koden fra kodebasen der direkte MySQL-spørsmål blir utført i databasen ved å godta noen brukerinnganger.
finn kommando i unix med eksempler
Hvis brukerinndataene er laget i SQL-spørringer for å spørre databasen, kan en angriper injisere SQL-setninger eller deler av SQL-setningene som brukerinnganger for å trekke ut viktig informasjon fra en database. Selv om en angriper lykkes med å krasje applikasjonen, kan angriperen fra SQL-spørringsfeilen som vises i en nettleser, få informasjonen de leter etter.
Spesialtegn fra brukerinndataene skal håndteres / slippes riktig i slike tilfeller.
# 4) Cross-Site Scripting (XSS)
En tester bør i tillegg sjekke nettapplikasjonen for XSS (skript på tvers av nettsteder). Enhver HTML For eksempel, eller noe manus For eksempel, bør ikke godtas av søknaden. Hvis det er tilfelle, kan applikasjonen være utsatt for et angrep fra Cross-Site Scripting.
Angriperen kan bruke denne metoden til å utføre et ondsinnet skript eller en URL i offerets nettleser. Ved å bruke skript på tvers av nettsteder kan en angriper bruke skript som JavaScript for å stjele brukerens informasjonskapsler og informasjon som er lagret i informasjonskapslene.
Mange webapplikasjoner får nyttig informasjon og gir denne informasjonen i noen variabler fra forskjellige sider.
For eksempel, http://www.examplesite.com/index.php?userid=123 &spørsmål = xyz
Angriperen kan enkelt sende noen ondsinnede innspill eller som en '& spørring' parameter som kan utforske viktige bruker- / serverdata i nettleseren.
Viktig: Under sikkerhetstesting bør testeren være veldig forsiktig så den ikke endrer noe av det følgende:
- Konfigurasjon av applikasjonen eller serveren
- Tjenester som kjører på serveren
- Eksisterende bruker- eller kundedata som er vert for applikasjonen
I tillegg bør en sikkerhetstest unngås i et produksjonssystem.
Konklusjon
Hensikten med en sikkerhetstest er å oppdage sårbarhetene til webapplikasjonen, slik at utviklerne kan fjerne disse sårbarhetene fra applikasjonen og gjøre webapplikasjonen og dataene trygge for enhver uautorisert handling.
Anbefalt lesing => Forskjellen mellom SAST / DAST / IAST / RASP
Del gjerne dine kommentarer / forslag om denne artikkelen.
Anbefalt lesing
- Nybegynnerveiledning for penetreringstesting av webapplikasjoner
- Sikkerhetstesting (en komplett guide)
- Alpha Testing og Beta Testing (En komplett guide)
- Testing av nettverkssikkerhet og beste verktøy for nettverkssikkerhet
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Build Verification Testing (BVT Testing) Komplett guide
- Topp 4 Open Source Security Testing Tools for å teste webapplikasjon
- Funksjonstesting mot ikke-funksjonell testing