Webapplikasjoner er programmer som lar brukere samhandle med webservere. De kjøres i nettlesere ved hjelp av klient- og serversiden.
Webapplikasjonsarkitekturen består av:
Klient- / presentasjonslaget består av enheter som applikasjonen kjører på. Slike enheter inkluderer bærbare datamaskiner, nettbrett, smarttelefoner osv.
Virksomhetslogikklaget har to lag:
Webserverlogikklag som består av komponenter som håndterer forespørsler og svar, og kodingen som leser og returnerer data til nettleseren
Virksomhetslogikklag som inneholder applikasjonsdataene
Databaselaget består av et B2B-lag og en databaseserver der organisasjonens data er lagret.
OWASP er et åpent fellesskap dedikert til å gjøre det mulig for organisasjoner å bli gravid, utvikle, skaffe seg, drive og vedlikeholde applikasjoner som er pålitelige.
OWASP Topp 10-prosjekt produserer et dokument som beskriver topp 10 applikasjonssikkerhetstrusler.
Det siste dokumentet viser følgende topp 10 sikkerhetstrusler:
Injiseringsangrep er et angrep der angriperen injiserer ondsinnede data i kommandoer og spørsmål som deretter kjøres i applikasjonen.
Dette angrepet retter seg mot inntastingsfelt eller inngangspunkter for applikasjonen og lar angripere trekke ut sensitiv informasjon.
De mest brukte injeksjonsangrepene er:
Brutt autentisering refererer til trusler og sårbarheter i autentisering og øktadministrasjon.
Angripere utnytter disse sårbarhetene for å imitere sine mål.
Noen av de eksisterende sårbarhetene inkluderer:
Sensitive dataeksponeringstrusler forekommer i applikasjoner som bruker svak krypteringskode for datakryptering og lagring.
Denne sårbarheten gjør det mulig for angripere å enkelt knekke kryptering og stjele dataene.
XML External Entity-angrep er et angrep der angriperen benytter seg av en dårlig konfigurert XML-parser som får applikasjonen til å analysere XML-inngang fra en ikke-klarert kilde.
Brutt tilgangskontroll refererer til trusler og sårbarheter i tilgangskontroll. Angripere utnytter disse sårbarhetene for å unngå autentisering og få administratorrettigheter.
Feilkonfigurasjon av sikkerhet refererer til sårbarheter som finnes i applikasjoner med en dårlig konfigurert applikasjonsstabel.
Noen av problemene som forårsaker sikkerhetsfeil med feilkonfigurasjon inkluderer:
Cross-Site Scripting-angrep er et angrep der angriperen injiserer skript på websider som utføres på målets system.
Usikker deserialisering refererer til et sårbarhet som angripere utnytter ved å injisere ondsinnet kode i seriedata som deretter sendes til målet.
På grunn av det usikre sårbarheten for deserialisering, deserialiseres ondsinnede seriell data uten at den ondsinnede koden blir oppdaget, noe som gjør at angriperen får uautorisert tilgang til systemet.
Ved å bruke komponenter med kjente sårbarheter kan angripere utnytte dem og utføre angrep.
Utilstrekkelig logging og overvåking skjer når applikasjonen ikke logger ondsinnede hendelser og aktiviteter. Dette medfører vanskeligheter med å oppdage angrep på systemet.
Metode for hacking av webapplikasjoner gir angripere trinn for å følge for å utføre et vellykket angrep.
Disse trinnene er:
Footprinting webinfrastruktur hjelper angriperen med å samle informasjon om målnettinfrastrukturen og identifisere sårbarheter som kan utnyttes.
I denne prosessen utfører angriperen:
Informasjonen samlet i fotavtrykkstrinnet lar hackere analysere den, finne sårbarheter å utnytte, og bruke forskjellige teknikker for å starte angrep på serveren.
Angripere analyserer målapplikasjonen for å identifisere sårbarhet og utnytte dem.
For å hacke applikasjonen, må angripere:
Angripere prøver å omgå klientsidenes kontroll av brukerinnganger og interaksjon.
For å omgå kontrollene på klientsiden, prøver angripere å:
Angripere prøver å utnytte sårbarheter som finnes i autentiseringsmekanismene.
Ved å utnytte slike sårbarheter, kan angripere utføre:
Autorisasjonsangrep er et angrep der angriperen får tilgang til applikasjonen gjennom en legitim konto som har begrensede privilegier, og som deretter bruker kontoen til å eskalere rettighetene.
For å utføre et autorisasjonsangrep bruker angriperen følgende kilder:
Angripere analyserer målnettstedet i et forsøk på å lære detaljene om den implementerte tilgangskontrollen.
I løpet av denne prosessen prøver angripere å lære om hvem som har tilgang til hvilke datasett, hvem som har hvilket tilgangsnivå, og hvordan de kan eskalere privilegier.
Angripere utnytter sårbarheter i autentisering og øktadministrasjon for å imitere sine mål.
Prosessen med å generere et gyldig økttoken består av to trinn:
Med et gyldig token kan angripere utføre angrep som MITM, øktkapring og repetisjon av økt.
Angripere utnytter uvaliderte skjemainnganger for å injisere ondsinnede spørsmål og kommandoer.
Dårlige kodingsferdigheter kan gjøre applikasjonen sårbar på grunn av logiske feil. Hvis angriperen lykkes med å identifisere slike feil, er de i stand til å utnytte dem og starte et angrep.
Angripere utfører angrep på databaseforbindelse for å få kontroll over databasen og dermed få tilgang til sensitiv informasjon.
Angripere retter seg mot webtjenester som er integrert i webapplikasjonen for å finne og utnytte applikasjonens sårbarheter i forretningslogikken.
Deretter bruker de forskjellige teknikker for å utføre et angrep på applikasjonen.