Innholdsfortegnelse
Databaseinjeksjon:
I tilfelle å sende upålitelige data til tolken som en del av kommandoen gjennom ethvert område som tar brukerinngang i.E -skjemainngang eller annet datainnleveringsområde, injeksjonsfeil oppstår. Angriperens ondsinnede spørsmål kan lure tolken til å utføre kommandoer som kan vise konfidensielle data som brukeren ikke har noen autorisasjon til å se på. For eksempel i et SQL -injeksjonsangrep, når skjemainngangen ikke er riktig desinfisert, kan angriperen gå inn i SQL -databasen og få tilgang til innholdet uten autorisasjon, bare ved å legge inn ondsinnet SQL -databasekode i en form som forventer en klartekst. Alle typer felt som tar brukerens innspill er injiserbar i.e parametere, miljøvariabler, alle webtjenester osv.
Applikasjonen er sårbar for injeksjonsangrepet når brukerstilte data ikke blir desinfisert og validert, ved bruk av dynamiske spørsmål uten å rømme og bruk av en kontekstbevisst og bruk av fiendtlige data direkte. Injeksjonsfeil kan enkelt oppdages gjennom undersøkelse av kode og ved bruk av automatiserte verktøy som skannere og fuzzers. For å forhindre injeksjonsangrep er det et visst tiltak som kan tas som å skille dataene fra kommandoer og spørsmål, bruk av et sikker rømming av spesialtegn ved bruk av spesifikk fluktsyntaks, etc.
Et injeksjonsangrep kan føre til et massivt tap av data, avsløring av konfidensiell informasjon, nektelse av tilgang, og det kan til og med føre til en komplett applikasjonsovertakelse. Noen SQL -kontroller som grense kan brukes til å kontrollere enorme mengder tap av data i tilfelle et angrep. Noen typer injeksjonsangrep er SQL, OS, NOSQL, LDAP -injeksjonsangrep.
Ødelagt autentisering:
Angripere kan få tilgang til brukerkontoer og kan til og med gå på akkord med hele vertssystemet gjennom administratorkontoer, ved å bruke sårbarhetene i autentiseringssystemer. Autentiseringsfeil lar angriperen gå på akkord med passord, økt -symboler, autentiseringstaster og kan lenkeres med andre angrep som kan føre til uautorisert tilgang til enhver annen brukerkonto eller økt midlertidig og i noen tilfeller permanent. La oss si at en bruker har en ordliste eller en ordbok med millioner av gyldige brukernavn og passord oppnådd under et brudd. Han kan bruke dem en etter en på ekstremt mindre tid ved å bruke automatiserte verktøy og skript på påloggingssystemet for å se om noen fungerer. Dårlig implementering av identitetshåndtering og tilgangskontroller fører til sårbarheter som ødelagt godkjenning.
Søknaden er sårbar for autentiseringsangrep når den tillater å prøve forskjellige brukernavn og passord, tillater ordbokangrep eller brute force -angrep uten noen forsvarsstrategi, bruk enkle, standard passord eller passord som er lekket i noe brudd, utsetter økt -ID -er i URL, bruker bruk Dårlig passord som gjenoppretter, bruker et mønster av informasjonskapsler. Ødelagt godkjenning kan enkelt utnyttes ved hjelp av enkle verktøy for brute-tvang og ordbokangrep med en god ordbok. Denne typen angrep kan forhindres ved bruk av multifaktor-autentiseringssystemer, ved å implementere svake passordkontroller ved å kjøre et passord gjennom en dårlig passorddatabase, ved ikke å bruke standardopplysninger, ved å justere passordkompleksitetspolicy, ved bruk av god serversiden Session Manager som genererer en ny tilfeldig sesjon-ID etter innlogging osv.
Ødelagt autentiseringssårbarhet kan resultere i at det går ut over noen få brukerkontoer og en administratorkonto, det er alt en angriper trenger å gå på akkord med et system. Disse typene angrep fører til identitetstyveri, samfunnssikkerhetssvindel, hvitvasking av penger og avsløring av høyt klassifisert informasjon. Angrepene inkluderer ordboksangrep, brute-tvang, øktkapring og angrep på sesjonsledelse.
Sensitiv dataeksponering:
Noen ganger beskytter ikke webapplikasjoner sensitive data og info som passord, databaseinformasjon osv. En angriper kan lett stjele eller endre disse svakt beskyttede legitimasjonene og bruke den til uekte formål. Sensitive data bør krypteres mens du er i ro eller i transitt og har et ekstra lag med sikkerhet, ellers kan angripere stjele dem. Angripere kan få hendene på sensitive utsatte data og stjele hash eller tømme tekstbrukere og databaseopplysninger fra serveren eller en nettleser. For eksempel, hvis en passorddatabase bruker usaltede eller enkle hasj for å lagre passord, kan en filopplastningsfeil tillate en angriper å hente passorddatabasen som vil føre til eksponering av alle passord med en regnbuebord med forhåndsberegnet hasj.
Hovedfeilen er ikke bare at dataene ikke er kryptert, selv om de er kryptert, men svak nøkkelgenerering, svake hash -algoritmer, svak chifferbruk kan også resultere i denne typen av et av de vanligste angrepene. For å forhindre denne typen angrep, klassifiserer først hvilken type data som kan betraktes som følsomme i henhold til personvernlovene og anvende kontroller i henhold til klassifisering. Prøv å ikke lagre klassifiserte data du ikke trenger, vask dem så snart du bruker dem. For dataene under transport, krypter det med sikre protokoller i.e tls med PFS -chiffer, etc.
Disse typer sårbarheter kan føre til eksponering av svært sensitiv informasjon som kredittkortinformasjon, helsejournaler, passord og andre personopplysninger som kan føre til identitetstyveri og banksvindel, etc.
XML Eksternt enheter (XEE):
Dårlig konfigurerte XML -prosessorer behandler eksterne enhetsreferanser i XML -dokumenter. Disse eksterne enhetene kan brukes til å hente data om interne filer som /etc/passwd fil eller å utføre andre ondsinnede oppgaver. Sårbare XML -prosessorer kan enkelt utnyttes hvis en angriper kan laste opp et XML -dokument eller inkludere XML osv. Disse sårbare XML -enhetene kan oppdages ved hjelp av SAST- og DAST -verktøy eller manuelt ved å inspisere avhengigheter og konfigurasjoner.
En webapplikasjon er sårbar for XEE -angrepet på grunn av mange grunner som om applikasjonen godtar direkte XML -inngang fra ikke -tillitsfulle kilder, definisjoner av dokumenttype (DTDS) på applikasjonen er aktivert, applikasjonen bruker SAML for identitetsbehandling ettersom SAML bruker XML for identitet innsettinger osv. Xee -angrep kan reduseres ved å unngå serialisering av sensitive data ved å bruke mindre kompliserte dataformater i.e json, lapping av XML -prosessorer applikasjonen er curren '] ved bruk og til og med bibliotekene, deaktivering av DTD -er i alle XML -parsers, validering av XML -filopplastningsfunksjonalitet ved bruk av XSD -verifisering, etc.
Søknaden som er sårbar for denne typen angrep kan føre til DOS -angrep, milliarder latter angrep, skanning av interne systemer, intern portskanning, utføre en ekstern kommando som resulterer i å påvirke alle applikasjonsdata.
Ødelagt tilgangskontroll:
Tilgangskontroll gir brukerne privilegier å utføre spesifikke oppgaver. Sårbarhet for ødelagt tilgangskontroll finner sted når brukerne ikke er riktig begrenset på oppgavene de kan utføre. Angripere kan utnytte denne sårbarheten som kan ende opp med å få tilgang til uautorisert funksjonalitet eller informasjon. La oss si at en webapplikasjon lar brukeren endre kontoen han er logget inn fra bare ved å endre URL -en til en annen brukers konto uten ytterligere bekreftelse. Å utnytte sårbarheten for tilgangskontroll er et angrep av enhver angriper, dette sårbarheten kan finnes manuelt så vel som ved å bruke SAFT- og DAFT-verktøy. Disse sårbarhetene eksisterer på grunn av mangel på testing og automatisert påvisning av webapplikasjoner, selv om den beste måten å finne dem er å gjøre det manuelt.
Sårbarheter inneholder privilegier opptrapping i.e fungerer som bruker du ikke er eller fungerer som administrator mens du er bruker, omgår tilgangskontrollkontroller bare ved å endre nettadressen eller endre applikasjonens tilstand, metadatamanipulering, slik at den primære nøkkelen kan endres som en annen brukers primære nøkkel, etc. For å forhindre denne typen angrep, må tilgangskontrollmekanismer implementeres i kode på serversiden der angripere ikke kan endre tilgangskontrollene. Håndhevelse av unike applikasjonsgrenser etter domenemodeller, deaktivering av liste serverkataloger, varsle admin på gjentatte mislykkede påloggingsforsøk, ugyldige JWT -symboler etter at innloggingen må sikres for å dempe denne typen angrep.
Angripere kan fungere som en annen bruker eller administrator ved å bruke denne sårbarheten til å utføre ondsinnede oppgaver som å lage, slette og endre poster osv. Massivt tap av data kan oppstå hvis dataene ikke er sikret selv etter et brudd.
Sikkerhetsmisconfiguration:
Den vanligste sårbarheten er sikkerhetsfeilkonfigurasjon. Hovedårsaken til sårbarheten er bruk av standardkonfigurasjon, ufullstendig konfigurasjon, adhoc -konfigurasjoner, dårlig konfigurerte HTTP -overskrifter og ordrike feilmeldinger som inneholder mer info enn brukeren faktisk burde ha visst. På ethvert nivå i en webapplikasjon kan sikkerhetsmessige feilkonfigurasjoner oppstå i.E -database, webserver, applikasjonsserver, nettverkstjenester osv. Angripere kan utnytte upatchede systemer eller få tilgang til ubeskyttede filer og kataloger for å ha et uautorisert hold på systemet. For eksempel en applikasjon for mye ordentlig feilmeldinger som hjelper angriperen til å kjenne sårbarheter i applikasjonssystemet og måten det fungerer. Automatiserte verktøy og skannere kan brukes til å oppdage denne typen sikkerhetsfeil.
En webapplikasjon inneholder denne typen sårbarhet Hvis den mangler sikkerhetsherdingstiltakene på tvers av noen del av applikasjonen, er unødvendige porter åpne eller det muliggjør unødvendige funksjoner, standardpassord brukes, feilhåndtering avslører over informative feil for angriperen, den bruker uopptatt eller utdatert sikkerhetsprogramvare osv. Det kan forhindres ved å fjerne unødvendige funksjoner i koden, i.e En minimal plattform uten unødvendige funksjoner, dokumentasjon osv det er lett å distribuere et annet miljø som er riktig låst.
Disse typer sårbarheter eller mangler lar angriperen få uautorisert tilgang til systemdata som fører til fullstendig kompromiss av systemet.
Cross-site scripting (XSS):
XSS-sårbarheter skjer på det punktet når en webapplikasjon inkorporerer upålitelige data på en ny nettstedsside uten legitim godkjenning eller rømming, eller oppdaterer en nåværende nettstedsside med klient-leverte data, ved å bruke et nettleser-API som kan lage HTML eller JavaScript. XSS -feil oppstår i tilfelle nettstedet lar en bruker legge tilpasset kode i en URL -bane som kan sees av andre brukere. Disse feilene brukes til å kjøre ondsinnet JavaScript -kode i målets nettleser. La oss si, en angriper kan sende en lenke til offeret som inneholder en lenke til ethvert selskaps nettsted. Denne forbindelsen kan ha noen ondsinnet JavaScript -kode innebygd i den, i tilfelle bankens webside ikke er passende sikret mot XSS -angrep, når du klikker på lenken, blir den ondsinnede koden kjørt på offerets nettleser.
Cross-site scripting er en sikkerhetssårbarhet som er til stede i nesten ⅔ av webapplikasjonene. En applikasjon er sårbar for XSS hvis applikasjonen lagrer en usanitisert brukerinngang som kan sees av en annen bruker, ved bruk av JavaScript-strukturer, applikasjoner med en side og API-er som mektig inkorporerer angriperkontrollerbar informasjon til en side er hjelpeløs mot DOM XSS. XSS -angrep kan reduseres ved bruk av rammer som slipper unna og desinfiserer XSS -inngang av natur som React JS osv.E i HTML-attributter, URI, JavaScript, etc, bruk av kontekstsensitiv koding i tilfelle å endre dokument på klientsiden osv.
XSS -baserte angrep er av tre typer I.e reflekterte XSS, DOM XSS og lagret XSS. Alle typer av disse angrepene har en betydelig mengde innvirkning, men i tilfelle av lagrede XSS er virkningen enda større i.e stjeling av legitimasjon, sender skadelig programvare til offeret osv.
Usikker deserialisering:
Serialisering av data betyr å ta objekter og konvertere dem til ethvert format slik at disse dataene kan brukes til andre formål senere, mens deserialisering av data betyr det motsatte av det. Deserialisering pakker ut disse serialiserte dataene for bruk av applikasjoner. Usikker deserialisering betyr temperering av data som har blitt serialisert rett før det er i ferd med å pakke ut eller deserialisert. Usikker deserialisering fører til utførelsen. Det er noen verktøy tilgjengelig for å oppdage denne typen feil, men menneskelig hjelp er ofte nødvendig for å validere problemet. Å utnytte deserialisering er litt vanskelig, da utnyttelsene ikke vil fungere uten noen manuelle endringer.
Når applikasjonen deserialiserer ondsinnede objekter levert av den angripende enheten. Dette kan føre til to typer angrep i.E -angrep relatert til datastruktur og objekter der angriperen endrer applikasjonslogikk eller utfører ekstern kode og typiske datatuklingsangrep der eksisterende datastrukturer brukes med modifisert innhold for eksempel tilgangskontrollrelaterte angrep. Serialisering kan brukes i ekstern prosesskommunikasjon (RPC) eller en inter-prosess-kommunikasjon (IPC), hurtigbufring av data, webtjenester, databaser cache-server, filsystemer, API-autentiseringstokens, HTML-informasjonskapsler, HTML-formparametere, etc. Deserialiseringsangrep kan reduseres ved ikke å bruke serialiserte objekter fra upålitelige kilder, implementere integritetskontroller, isolere koden som kjører i et lavt privilegert miljø, overvåker innkommende og utgående nettverkstilkoblinger fra servere som deserialiserer ofte.
Bruke komponenter med kjente sårbarheter:
Ulike komponenter som biblioteker, rammer og programvaremoduler brukes av de fleste av utviklerne i webapplikasjonen. Disse bibliotekene hjelper utvikleren med å unngå unødvendig arbeid og gi funksjonaliteten som trengs. Angripere ser etter feil og sårbarheter i disse komponentene for å koordinere et angrep. I tilfelle å finne et sikkerhet med smutthull i en komponent, kan alle nettstedene ved å bruke den samme komponenten, sårbare. Utnyttelser av disse sårbarhetene er allerede tilgjengelige mens du skriver en tilpasset utnyttelse fra bunnen av, tar mye krefter. Dette er et veldig vanlig og utbredt problem, bruk av store mengder komponenter i å utvikle en webapplikasjon kan føre til at de ikke engang kjenner og forstår alle komponenter som brukes, lapper og oppdaterer alle komponentene er lang tid.
En applikasjon er sårbar hvis utvikleren ikke kjenner versjonen av en komponent som brukes, programvaren er utdatert i.e operativsystemet, DBMS, programvarekjøring, runtime -miljøer og biblioteker, sårbarhetsskanning blir ikke gjort regelmessig, kompatibiliteten til lappet programvare blir ikke testet av utviklerne. Det kan forhindres ved å fjerne ubrukte avhengigheter, filer, dokumentasjon og biblioteker, sjekke versjonen av klient- og serversiden komponenter regelmessig, skaffe komponenter og biblioteker fra offisielle og pålitelige sikre kilder, overvåke de upatchede bibliotekene og komponentene, sikre en plan For oppdatering og lapping av sårbare komponenter regelmessig.
Disse sårbarhetene fører til mindre påvirkninger, men kan også føre til kompromiss av serveren og systemet. Mange store brudd var avhengige av kjente sårbarheter av komponenter. Bruken av utsatte komponenter undergraver applikasjonsforsvar og kan være et utgangspunkt for et stort angrep.
Utilstrekkelig logging og overvåking:
De fleste systemer tar ikke nok tiltak og trinn for å oppdage brudd på data. Gjennomsnittlig responstid for en hendelse er 200 dager etter at det har skjedd, dette er mye tid til å gjøre alt det ekle for en angripende enhet. Utilstrekkelig logging og overvåking lar angriperen angripe systemet ytterligere, opprettholde holdet på systemet, tukle, holde og trekke ut data i henhold til behovet. Angripere bruker mangelen på overvåking og respons i deres favør for å angripe webapplikasjonen.
Utilstrekkelig logging og overvåking skjer når som helst jeg.E -logger over applikasjoner som ikke blir overvåket for uvanlige aktiviteter, reviderte hendelser som mislykkede påloggingsforsøk og høye transaksjonsverdier er ikke riktig logget, advarsler og feil genererer uklare feilmeldinger, ingen triggervarsel i tilfelle pentesting ved bruk av automatiserte DAST -verktøy, ikke kan oppdage eller varsle aktive angrep raskt osv. Disse kan reduseres ved å sikre alle innloggings-, tilgangskontrollfeil og validering på serversiden, kan logges for å identifisere ondsinnet brukerkonto og holdes i nok tid til forsinket rettsmedisinsk undersøkelse, ved å sikre at logene som genereres er i et format Kompatibel med sentraliserte loggstyringsløsninger, ved å sikre integritetskontroller ved transaksjoner med høy verdi, ved å etablere et system for rettidige varsler om mistenkelige aktiviteter, etc.
De fleste av de vellykkede angrepene starter med å sjekke og sonderer for sårbarheter i et system, slik at disse sårbarhetssbeddelingen kan føre til at det går ut over hele systemet.
Konklusjon:
Sikkerhetsproblemene i en webapplikasjon påvirker alle enhetene relatert til den applikasjonen. Disse sårbarhetene må tas vare på for å gi et trygt og sikkert miljø for brukerne. Angripere kan bruke disse sårbarhetene for å kompromittere et system, få tak i det og eskalere privilegier. Effekten av en kompromittert webapplikasjon kan visualiseres fra stjålet kredittkortopplysning og identitetstyveri til lekkasje av svært konfidensiell informasjon osv. Avhengig av behovene og angrepsvektorene til ondsinnede enheter.