web application security testing guide
hvordan man åbner en .apk fil i windows
På grund af den enorme mængde data, der er gemt i webapplikationer og en stigning i antallet af transaktioner på nettet, bliver korrekt sikkerhedstest af webapplikationer meget vigtig dag for dag.
I denne artikel lærer vi detaljeret om de nøgleudtryk, der bruges i testning af websidesikkerhed, og dens testmetode.
Hvad du lærer:
- Hvad er sikkerhedstestning?
- Nogle nøgleudtryk, der bruges i sikkerhedstest
- Anbefalede sikkerhedstestværktøjer
- Approach til sikkerhedstest
- Metoder til websikkerhedstest
- Konklusion
- Anbefalet læsning
Hvad er sikkerhedstestning?
Sikkerhedstest er den proces, der kontrollerer, om fortrolige data forbliver fortrolige eller ej (dvs. det udsættes ikke for enkeltpersoner / enheder, som det ikke er beregnet til), og brugerne kan kun udføre de opgaver, som de har tilladelse til at udføre
For eksempel, en bruger skal ikke være i stand til at nægte hjemmesidens funktionalitet over for andre brugere, eller en bruger skal ikke være i stand til at ændre webapplikationens funktionalitet på en utilsigtet måde osv.
Nogle nøgleudtryk, der bruges i sikkerhedstest
Inden vi går videre, vil det være nyttigt at gøre os bekendt med få udtryk, der ofte bruges i webapplikationstest:
Hvad er 'sårbarhed'?
Dette er svagheden i webapplikationen. Årsagen til en sådan “svaghed” kan skyldes bugs i applikationen, en injektion (SQL / script-kode) eller tilstedeværelsen af vira.
Hvad er 'URL-manipulation'?
Nogle webapplikationer kommunikerer yderligere oplysninger mellem klienten (browseren) og serveren i URL'en. Ændring af nogle oplysninger i URL'en kan undertiden føre til utilsigtet adfærd fra serveren, og dette betegnes som URL-manipulation .
Hvad er 'SQL-injektion'?
Dette er processen med at indsætte SQL-sætninger via webapplikationens brugergrænseflade i nogle forespørgsler, der derefter udføres af serveren.
Hvad er 'XSS (Cross-Site Scripting)'?
Når en bruger indsætter HTML / klientsidescript i brugergrænsefladen til en webapplikation, er denne indsættelse synlig for andre brugere, og den betegnes som XSS .
Hvad er 'Spoofing'?
Oprettelse af hoax-lignende websteder eller e-mails kaldes Spoofing .
Anbefalede sikkerhedstestværktøjer
# 1) Acunetix
rodårsag analyse eksempler softwareudvikling
Acunetix er en ende-til-ende sikkerhedsscanner til webapplikationer. Det giver et 360-graders overblik over din organisations sikkerhed. Det er i stand til at detektere 6500 typer af sårbarheder som SQL-injektioner, XSS og svage adgangskoder osv. Det gør brug af avanceret makrooptagelsesteknologi til scanning af komplekse formularer på flere niveauer.
Platformen er intuitiv og nem at bruge. Du kan planlægge og prioritere fulde scanninger såvel som inkrementelle scanninger. Den indeholder en indbygget sårbarhedsstyringsfunktionalitet. Ved hjælp af CI-værktøjer som Jenkins kan nye builds scannes automatisk.
=> Prøv Acunetix for Web App Security
# 2) Kiuwan
Find og rett sårbarheder i din kode på hvert trin i SDLC.
Kiuwan er i overensstemmelse med de strengeste sikkerhedsstandarder, herunder OWASP, CWE, SANS 25, HIPPA og mere.Integrer Kiuwan i din IDE for øjeblikkelig feedback under udvikling. Kiuwan understøtter alle større programmeringssprog og integreres med førende DevOps-værktøjer.
=> Scan din kode gratis
Approach til sikkerhedstest
For at udføre en nyttig sikkerhedstest af en webapplikation skal sikkerhedstesteren have god viden om HTTP-protokollen.
Det er vigtigt at have en forståelse af, hvordan klienten (browseren) og serveren kommunikerer ved hjælp af HTTP.
Derudover skal testeren i det mindste kende det grundlæggende i SQL-injektion og XSS.
Forhåbentlig vil antallet af sikkerhedsdefekter, der er til stede i webapplikationen, ikke være stort. At være i stand til at beskrive alle sikkerhedsfejlene nøjagtigt med alle de nødvendige detaljer vil dog helt sikkert hjælpe.
Metoder til websikkerhedstest
# 1) Adgangskodebrydning
Sikkerhedstesten på en Webapplikation kan startes af 'Password Cracking'. For at logge ind på applikationens private områder kan man enten gætte et brugernavn / adgangskode eller bruge et kodeordsknækkerværktøj til det samme. En liste over almindelige brugernavne og adgangskoder er tilgængelige sammen med open source-adgangskodekrakere.
Hvis webapplikationen ikke håndhæver en kompleks adgangskode ( For eksempel, med alfabeter, antal og specialtegn eller med mindst et påkrævet antal tegn), tager det muligvis ikke meget lang tid at knække brugernavnet og adgangskoden.
Hvis et brugernavn eller en adgangskode er gemt i cookies uden kryptering, kan en hacker bruge forskellige metoder til at stjæle cookies og de oplysninger, der er gemt i cookies som brugernavn og adgangskode.
For flere detaljer se en artikel om “ Test af webstedets cookie ”.
# 2) URL-manipulation gennem HTTP GET-metoder
En tester skal kontrollere, om applikationen videregiver vigtige oplysninger i forespørgselsstrengen eller ej. Dette sker, når applikationen bruger HTTP GET-metoden til at videregive oplysninger mellem klienten og serveren.
Oplysningerne sendes gennem parametrene i forespørgselsstrengen. Testeren kan ændre en parameterværdi i forespørgselsstrengen for at kontrollere, om serveren accepterer den.
Via HTTP GET-anmodning sendes brugeroplysninger til serveren til godkendelse eller hentning af data. Angriberen kan manipulere hver inputvariabel, der sendes fra denne GET-anmodning til en server for at få de nødvendige oplysninger eller ødelægge dataene. Under sådanne forhold er enhver usædvanlig adfærd fra applikation eller webserver døråbningen for angriberen at komme ind i en applikation.
# 3) SQL-injektion
Den næste faktor, der skal kontrolleres, er SQL Injection. Indtastning af et enkelt tilbud (‘) i enhver tekstboks skal afvises af applikationen. I stedet for, hvis testeren støder på en databasefejl, betyder det, at brugerindgangen indsættes i en forespørgsel, som derefter udføres af et program. I et sådant tilfælde er applikationen sårbar over for SQL-injektion.
SQL-injektionsangreb er meget kritiske, da en angriber kan få vigtig information fra serverdatabasen. For at kontrollere SQL-injektionsindgangspunkter i din webapplikation skal du finde ud af koden fra din codebase, hvor direkte MySQL-forespørgsler udføres i databasen ved at acceptere nogle brugerindgange.
Hvis brugerindtastningsdataene er udformet i SQL-forespørgsler til forespørgsel til databasen, kan en angriber indsprøjte SQL-sætninger eller en del af SQL-sætningerne som brugerinput for at udtrække vigtig information fra en database. Selvom en hacker lykkes med at nedbrudte applikationen, kan SQL-forespørgselsfejlen, der vises i en browser, få de oplysninger, de leder efter.
Specialtegn fra brugerindgange skal håndteres / undslippes korrekt i sådanne tilfælde.
# 4) Cross-Site Scripting (XSS)
En tester skal desuden kontrollere webapplikationen for XSS (scripting på tværs af websteder). Enhver HTML For eksempel, eller et hvilket som helst script For eksempel, bør ikke accepteres af ansøgningen. Hvis det er tilfældet, kan applikationen være tilbøjelig til et angreb fra Cross-Site Scripting.
Angriberen kan bruge denne metode til at udføre et ondsindet script eller en URL i offerets browser. Ved hjælp af scripting på tværs af websteder kan en hacker bruge scripts som JavaScript til at stjæle brugercookies og information gemt i cookies.
Mange webapplikationer får nogle nyttige oplysninger og videregiver disse oplysninger i nogle variabler fra forskellige sider.
For eksempel, http://www.examplesite.com/index.php?userid=123 &forespørgsel = xyz
Angriberen kan let videregive nogle ondsindede input eller som en '& forespørgsel' parameter, som kan udforske vigtige bruger- / serverdata i browseren.
c ++ tilstødelsesliste ustyret graf
Vigtig: Under sikkerhedstest skal testeren være meget forsigtig med ikke at ændre noget af følgende:
- Konfiguration af applikationen eller serveren
- Tjenester, der kører på serveren
- Eksisterende bruger- eller kundedata, der hostes af applikationen
Derudover bør en sikkerhedstest undgås i et produktionssystem.
Konklusion
Formålet med en sikkerhedstest er at opdage sårbarhederne i webapplikationen, så udviklerne kan fjerne disse sårbarheder fra applikationen og gøre webapplikationen og dataene beskyttet mod enhver uautoriseret handling.
Anbefalet læsning => Forskel mellem SAST / DAST / IAST / RASP
Del gerne dine kommentarer / forslag til denne artikel.
Anbefalet læsning
- Begyndervejledning til penetrationstest af webapplikationer
- Sikkerhedstest (En komplet guide)
- Alpha-test og betatestning (En komplet guide)
- Netværkssikkerhedstest og de bedste netværkssikkerhedsværktøjer
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Build Verification Testing (BVT Testing) Komplet guide
- Top 4 Open Source sikkerhedstestværktøjer til test af webapplikation
- Funktionel testning mod ikke-funktionel testning