web application security testing guide
najboljši video pretvornik za mac
Zaradi velike količine podatkov, shranjenih v spletnih aplikacijah, in povečanega števila transakcij v spletu, postajajo ustrezna varnostna testiranja spletnih aplikacij iz dneva v dan zelo pomembna.
V tem članku bomo podrobno izvedeli o ključnih izrazih, ki se uporabljajo pri preizkušanju varnosti spletnih strani, in o pristopu preskušanja.
Kaj se boste naučili:
- Kaj je varnostno preskušanje?
- Nekateri ključni izrazi, ki se uporabljajo pri preskušanju varnosti
- Priporočena orodja za preskušanje varnosti
- Pristop preskušanja varnosti
- Metode za testiranje spletne varnosti
- Zaključek
- Priporočeno branje
Kaj je varnostno preskušanje?
Testiranje varnosti je postopek, ki preverja, ali je zaupni podatki ostanejo zaupni ali ne (tj. ni izpostavljen posameznikom / subjektom, katerim ni namenjen) in uporabniki lahko izvajajo samo tiste naloge, za katere so pooblaščeni
Na primer, uporabnik ne sme biti sposoben zavrniti funkcionalnosti spletnega mesta drugim uporabnikom ali uporabnik ne bi smel biti sposoben nenamerno spreminjati funkcionalnost spletne aplikacije itd.
Nekateri ključni izrazi, ki se uporabljajo pri preskušanju varnosti
Preden nadaljujemo, se bo koristno seznaniti z nekaj izrazi, ki se pogosto uporabljajo pri preizkušanju varnosti spletne aplikacije:
Kaj je 'ranljivost'?
To je šibkost spletne aplikacije. Vzrok za takšno 'šibkost' so lahko napake v aplikaciji, vbrizgavanje (SQL / skriptna koda) ali prisotnost virusov.
Kaj je 'manipulacija z URL-ji'?
Nekatere spletne aplikacije sporočajo dodatne informacije med odjemalcem (brskalnikom) in strežnikom v URL-ju. Spreminjanje nekaterih informacij v URL-ju lahko včasih povzroči nenamerno vedenje strežnika, kar se imenuje Manipulacija z URL-ji .
Kaj je 'vbrizgavanje SQL'?
To je postopek vstavljanja stavkov SQL prek uporabniškega vmesnika spletne aplikacije v neko poizvedbo, ki jo nato izvede strežnik.
Kaj je “XSS (Cross-Site Scripting)”?
Ko uporabnik v uporabniški vmesnik spletne aplikacije vstavi HTML / skript na strani odjemalca, je to vstavljanje vidno drugim uporabnikom in se imenuje XSS .
Kaj je 'prevara'?
Imenuje se ustvarjanje prevarantskih spletnih mest ali e-poštnih sporočil, podobnih drugim Prevara .
Priporočena orodja za preskušanje varnosti
# 1) Acunetix
kaj je najboljše čistilo za računalnike
Acunetix je celovit varnostni skener spletne aplikacije. Dala bo 360-stopinjski pogled na varnost vaše organizacije. Sposoben je zaznati 6500 vrst ranljivosti, kot so vbrizgavanje SQL, XSS in šibka gesla itd. Uporablja napredno tehnologijo snemanja makrov za skeniranje zapletenih obrazcev na več ravneh.
Platforma je intuitivna in enostavna za uporabo. Celotne preglede in postopne preglede lahko razporedite in določite kot prednostne. Vsebuje vgrajeno funkcionalnost za upravljanje ranljivosti. S pomočjo orodij CI, kot je Jenkins, je mogoče nove zgradbe samodejno pregledati.
=> Preizkusite Acunetix za varnost spletnih aplikacij
# 2) Kiuwan
Poiščite in odpravite ranljivosti v svoji kodi na vsaki stopnji SDLC.
Kiuwan je skladen z najstrožjimi varnostnimi standardi, vključno z OWASP, CWE, SANS 25, HIPPA in drugimi.Vključite Kiuwan v svoj IDE za takojšnje povratne informacije med razvojem. Kiuwan podpira vse glavne programske jezike in se integrira z vodilnimi orodji DevOps.
=> Skenirajte kodo brezplačno
Pristop preskušanja varnosti
Za izvedbo koristnega varnostnega preizkusa spletne aplikacije mora preizkuševalec varnosti dobro poznati protokol HTTP.
Pomembno je razumeti, kako odjemalec (brskalnik) in strežnik komunicirata s pomočjo HTTP.
Poleg tega bi moral preizkuševalec vsaj poznati osnove vbrizgavanja SQL in XSS.
Upajmo, da število varnostnih napak v spletni aplikaciji ne bo veliko. Vsekakor pa vam bo pomagalo, če boste lahko natančno opisali vse varnostne napake z vsemi zahtevanimi podrobnostmi.
Metode za testiranje spletne varnosti
# 1) Pokanje gesla
Preskus varnosti na a Spletna aplikacija lahko sproži “Cracking Password”. Če se želite prijaviti v zasebna področja aplikacije, lahko uganite uporabniško ime / geslo ali pa uporabite isto orodje za razbijanje gesel. Na voljo je seznam pogostih uporabniških imen in gesel, skupaj z odprtokodnimi grozdi.
Če spletna aplikacija ne uveljavi zapletenega gesla ( Na primer, z abecedami, številkami in posebnimi znaki ali z vsaj zahtevanim številom znakov), trajanje uporabniškega imena in gesla ne bo trajalo prav dolgo.
Če je uporabniško ime ali geslo shranjeno v piškotkih brez šifriranja, lahko napadalec z različnimi metodami ukrade piškotke in podatke, shranjene v piškotkih, kot sta uporabniško ime in geslo.
Za več podrobnosti glejte članek na temo „ Preizkušanje spletnih piškotkov '.
# 2) Manipulacija z URL-ji prek metod HTTP GET
Preizkuševalec mora preveriti, ali aplikacija posreduje pomembne informacije v poizvedbeni niz ali ne. To se zgodi, ko aplikacija uporablja metodo HTTP GET za posredovanje informacij med odjemalcem in strežnikom.
Informacije se posredujejo skozi parametre v nizu poizvedbe. Preskuševalec lahko spremeni vrednost parametra v nizu poizvedbe, da preveri, ali ga strežnik sprejme.
Preko zahteve HTTP GET se uporabniške informacije posredujejo strežniku za preverjanje pristnosti ali pridobivanje podatkov. Napadalec lahko manipulira z vsako vhodno spremenljivko, ki je bila posredovana iz te zahteve GET strežniku, da bi dobil zahtevane informacije ali pokvaril podatke. V takih pogojih je vsako nenavadno vedenje aplikacije ali spletnega strežnika vrata, da napadalec vstopi v aplikacijo.
# 3) Vbrizgavanje SQL
Naslednji dejavnik, ki ga je treba preveriti, je SQL Injection. Aplikacija mora zavrniti vnos enega samega narekovaja (‘) v katero koli besedilno polje. Če tester naleti na napako baze podatkov, to pomeni, da je uporabniški vnos vstavljen v neko poizvedbo, ki jo nato izvede aplikacija. V takem primeru je aplikacija ranljiva za vbrizgavanje SQL.
Napadi vbrizgavanja SQL so zelo kritični, saj lahko napadalec dobi ključne informacije iz strežniške baze podatkov. Če želite preveriti vstopne točke za vbrizgavanje SQL v vašo spletno aplikacijo, poiščite kodo iz svoje kode, kjer se v bazi podatkov izvajajo neposredne poizvedbe MySQL, tako da sprejmete nekaj uporabniških vnosov.
vprašanja za avtomatizacijsko preskušanje za izkušene
Če so uporabniški vhodni podatki izdelani v poizvedbah SQL za poizvedbo po zbirki podatkov, lahko napadalec vstavi stavke SQL ali del stavkov SQL kot uporabniške vnose za pridobivanje vitalnih informacij iz baze podatkov. Tudi če napadalec uspešno sesuje aplikacijo, lahko iz napake poizvedbe SQL, prikazane v brskalniku, dobi informacije, ki jih išče.
V takih primerih je treba s posebnimi znaki iz uporabniških vnosov pravilno ravnati / ubežati.
# 4) Skriptiranje med spletnimi mesti (XSS)
Preizkuševalec mora dodatno preveriti spletno aplikacijo za XSS (Cross-site skriptting). Kateri koli HTML Na primer, ali kateri koli skript Na primer, prijava ne sme sprejeti. Če je, potem je aplikacija lahko nagnjena k napadu s skriptami med spletnimi mesti.
Napadalec lahko s to metodo zažene zlonamerni skript ali URL v žrtvinem brskalniku. Z uporabo skriptov med spletnimi mesti lahko napadalec s skripti, kot je JavaScript, ukrade uporabniške piškotke in podatke, shranjene v piškotkih.
Veliko spletnih aplikacij dobi nekaj koristnih informacij in jih posreduje v nekaterih spremenljivkah z različnih strani.
Na primer, http://www.examplesite.com/index.php?userid=123 & poizvedba = xyz
Napadalec lahko zlahka posreduje zlonamerni vnos ali kot parameter '& query', ki lahko v brskalniku razišče pomembne podatke o uporabniku / strežniku.
Pomembno: Med preskušanjem varnosti mora biti preskuševalec zelo previden, da ne spremeni ničesar od naslednjega:
- Konfiguracija aplikacije ali strežnika
- Storitve, ki se izvajajo na strežniku
- Obstoječi podatki o uporabnikih ali strankah, ki jih gosti aplikacija
Poleg tega se je treba izogibati varnostnemu preizkusu v proizvodnem sistemu.
Zaključek
Namen varnostnega preizkusa je odkriti ranljivosti spletne aplikacije, tako da lahko razvijalci te ranljivosti odstranijo iz aplikacije in spletno aplikacijo in podatke zaščitijo pred kakršnimi koli nepooblaščenimi dejanji.
Priporočeno branje => Razlika med SAST / DAST / IAST / RASP
Vas prosimo, da delite svoje komentarje / predloge o tem članku.
Priporočeno branje
- Priročnik za začetnike do testiranja prodora spletnih aplikacij
- Testiranje varnosti (popoln vodnik)
- Alfa testiranje in beta testiranje (popoln vodnik)
- Testiranje omrežne varnosti in najboljša orodja za omrežno varnost
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Popoln vodnik za preizkus preverjanja gradnje (testiranje BVT)
- Najboljša 4 odprtokodna orodja za testiranje varnosti za preizkušanje spletne aplikacije
- Funkcionalno testiranje vs nefunkcionalno testiranje