beginners guide web application penetration testing
Testarea penetrării aka Pen Test este cea mai frecvent utilizată tehnică de testare a securității pentru aplicații web.
Testarea penetrării aplicațiilor web se face prin simularea atacurilor neautorizate intern sau extern pentru a obține acces la date sensibile.
O penetrare web ajută utilizatorul final să afle posibilitatea unui hacker de a accesa datele de pe internet, de a afla despre securitatea serverelor de e-mail și, de asemenea, de a cunoaște cât de sigure sunt site-ul și serverul de găzduire web.
Ei bine, să acoperim acum conținutul acestui articol.
cum se accesează fișierele apk pe Android
(imagine sursă )
În acest tutorial de testare a penetrării am încercat să acopăr:
- Nevoia Pentest pentru testarea aplicațiilor web,
- Metodologie standard disponibilă pentru Pentest,
- Abordare pentru aplicația web Pentest,
- Care sunt tipurile de testare pe care le putem efectua,
- Pașii care trebuie luați pentru efectuarea unui test de penetrare,
- Instrumente care pot fi utilizate pentru testare,
- Unii dintre furnizorii de servicii de testare a penetrării și
- Unele dintre certificările pentru testarea penetrării pe web
Instrumente de scanare a vulnerabilităților recomandate:
# 1) Net parker
Netsparker este o platformă automată de testare a securității aplicațiilor web ușor de utilizat și automatizată pe care o puteți utiliza pentru a identifica vulnerabilitățile reale și exploatabile din site-urile dvs. web.
#Două) Kiuwan
Găsiți și remediați vulnerabilitățile din codul dvs. în fiecare etapă a SDLC.
Kiuwan este conform cu cele mai stricte standarde de securitate, inclusiv OWASP, CWE, SANS 25, HIPPA și multe altele. Integrați Kiuwan în IDE pentru feedback instantaneu în timpul dezvoltării. Kiuwan acceptă toate limbajele de programare majore și se integrează cu instrumentele DevOps de top.
=> Scanați codul gratuitCe veți învăța:
- De ce sunt necesare teste de penetrare?
- Metodologia de testare a penetrării web
- Tipuri de testare a penetrării pe web
- Abordare de testare a stiloului web:
- Unelte de testare a penetrării
- Cele mai bune companii de testare a penetrării
- Unele certificări de testare a penetrării:
- Concluzie
- Lectură recomandată
De ce sunt necesare teste de penetrare?
Când vorbim despre securitate, cel mai comun cuvânt pe care îl auzim este Vulnerabilitate .
Când am început inițial să lucrez ca tester de securitate, mă confundam foarte des cu acest cuvânt Vulnerabilitate și sunt sigur că mulți dintre voi, cititorii mei ar cădea în aceeași barcă.
În beneficiul tuturor cititorilor mei, voi clarifica mai întâi diferența dintre vulnerabilitate și testarea stiloului.
Deci, ce este Vulnerabilitate ? Vulnerabilitatea este o terminologie utilizată pentru identificarea defectelor din sistem care pot expune sistemul la amenințări de securitate.
Scanare vulnerabilitate sau testare stilou?
Scanarea vulnerabilităților îi permite utilizatorului să afle punctele slabe cunoscute ale aplicației și definește metodele de remediere și îmbunătățire a securității generale a aplicației. Practic află dacă sunt instalate patch-uri de securitate, dacă sistemele sunt configurate corect pentru a face atacurile dificile.
Pen Tests simulează în principal sistemele în timp real și ajută utilizatorul să afle dacă sistemul poate fi accesat de utilizatori neautorizați, dacă da, ce daune pot fi cauzate și ce date etc.
Prin urmare, scanarea vulnerabilității este o metodă de control detectiv care sugerează modalități de îmbunătățire a programului de securitate și de asigurare a slăbiciunilor cunoscute care nu apar la suprafață, în timp ce testul stiloului este o metodă de control preventiv care oferă o imagine de ansamblu asupra stratului de securitate existent al sistemului.
Deși, ambele metode au importanța sa, dar va depinde de ceea ce se așteaptă cu adevărat ca parte a testării.
În calitate de testeri, este imperativ să fim clari cu privire la scopul testării înainte de a intra în testare. Dacă aveți clar obiectivul, puteți defini foarte bine dacă trebuie să faceți o scanare a vulnerabilităților sau testarea stiloului.
Importanța și necesitatea testării stiloului web pentru aplicații:
- Pentest Ajută la identificarea vulnerabilităților necunoscute.
- Ajută la verificarea eficienței politicilor generale de securitate.
- Ajutați la testarea componentelor expuse public, cum ar fi firewall-uri, routere și DNS.
- Permite utilizatorului să afle calea cea mai vulnerabilă prin care poate fi atacat
- Ajută la găsirea lacunelor care pot duce la furtul de date sensibile.
Dacă ne uităm la cererea actuală a pieței, a existat o creștere bruscă a utilizării dispozitivelor mobile, care devine un potențial major de atacuri. Accesarea site-urilor web prin intermediul telefoanelor mobile este predispusă la atacuri mai frecvente și, prin urmare, compromite datele.
Testarea penetrării devine astfel foarte importantă pentru a ne asigura că construim un sistem sigur care poate fi utilizat de utilizatori fără griji de hacking sau pierdere de date.
Metodologia de testare a penetrării web
Metodologia nu este altceva decât un set de linii directoare ale industriei de securitate cu privire la modul în care ar trebui efectuate testele. Există câteva metodologii și standarde renumite și bine stabilite care pot fi utilizate pentru testare, dar din moment ce fiecare aplicație web necesită diferite tipuri de teste, testerii își pot crea propriile metodologii prin referirea standardelor disponibile pe piață.
Unele dintre metodologiile și standardele de testare a securității sunt -
- OWASP (Deschideți proiectul de securitate a aplicațiilor web)
- OSSTMM (Manual de metodologie de testare a securității sursei deschise)
- PTF (Cadrul de testare a penetrării)
- ISSAF (Cadrul de evaluare a securității sistemelor informaționale)
- PCI DSS (Standard de securitate a datelor din industria cardurilor de plată)
Scenarii de testare:
Mai jos sunt enumerate câteva dintre scenariile de testare care pot fi testate ca parte Testarea penetrării aplicațiilor web (WAPT):
- Cross Site Scripting
- Injecție SQL
- Autentificare defectă și gestionarea sesiunii
- Defecte de încărcare a fișierelor
- Atacuri ale serverelor în cache
- Configurații greșite de securitate
- Solicitare de falsificare inter-site
- Cracarea parolei
Chiar dacă am menționat lista, testerii nu ar trebui să își creeze orbește metodologia de testare pe baza standardelor convenționale de mai sus.
administratorul informatica intervievează întrebări și răspunsuri
Iată unexemplupentru a demonstra de ce spun asta.
Luați în considerare faptul că vi se cere să testați penetrarea unui site de e-commerce, acum gândiți-vă dacă toate vulnerabilitățile unui site de e-commerce pot fi identificate folosind metodele convenționale ale OWASP precum XSS, injecție SQL etc.
Răspunsul este un Nu, deoarece eCommerce funcționează pe o platformă și o tehnologie foarte diferite în comparație cu alte site-uri web. Pentru a face testarea stiloului dvs. pentru site-ul eCommerce eficient, testerii ar trebui să proiecteze o metodologie care implică defecte precum Managementul comenzilor, Gestionarea cupoanelor și a recompenselor, Integrarea gateway-ului de plată și Integrarea sistemului de gestionare a conținutului.
Deci, înainte de a vă decide cu privire la metodologie, asigurați-vă foarte bine ce tipuri de site-uri web sunt așteptate să fie testate și ce metodă va ajuta la găsirea vulnerabilităților maxime.
Tipuri de testare a penetrării pe web
Aplicațiile web pot fi testate în 2 moduri de penetrare. Testele pot fi proiectate pentru a simula un atac interior sau exterior.
# 1) Test de penetrare internă -
După cum sugerează și numele, testarea internă a stiloului se face în cadrul organizației prin LAN, prin urmare include testarea aplicațiilor web găzduite pe intranet.
Acest lucru vă ajută să aflați dacă ar putea exista vulnerabilități care există în firewall-ul corporativ.
Întotdeauna credem că atacurile se pot întâmpla numai extern și de multe ori Pentestul intern este trecut cu vederea sau nu i se acordă prea multă importanță.
Practic, include atacuri de angajați rău intenționați de către angajați nemulțumiți sau contractori care ar fi demisionat, dar conștienți de politicile și parolele de securitate interne, atacurile de inginerie socială, simularea atacurilor de phishing și atacurile care utilizează privilegiile utilizatorului sau utilizarea abuzivă a unui terminal deblocat.
Testarea se face în principal prin accesarea mediului fără acreditări adecvate și identificarea dacă un
#Două) Test de penetrare externă -
Acestea sunt atacuri efectuate extern din afara organizației și includ testarea aplicațiilor web găzduite pe internet.
Testerii se comportă ca niște hackeri care nu sunt prea conștienți de sistemul intern.
Pentru a simula astfel de atacuri, testerilor li se oferă IP-ul sistemului țintă și nu li se furnizează alte informații. Aceștia sunt obligați să caute și să scaneze pagini web publice și să găsească informațiile noastre despre gazdele țintă și apoi să compromită gazdele găsite.
Practic, include testarea serverelor, firewall-urilor și IDS-urilor.
Abordare de testare a stiloului web:
Poate fi realizat în 3 faze:
# 1) Faza de planificare (înainte de testare)
Înainte de începerea testării, este recomandabil să planificați ce tipuri de testare vor fi efectuate, cum vor fi efectuate testele, să stabiliți dacă QA are nevoie de acces suplimentar la instrumente etc.
- Definirea domeniului - Acest lucru este la fel ca testarea noastră funcțională, în care definim sfera testării noastre înainte de a începe eforturile noastre de testare.
- Disponibilitatea documentației pentru testatori - Asigurați-vă că testerii au toate documentele necesare, cum ar fi documentele care detaliază arhitectura web, punctele de integrare, integrarea serviciilor web etc. Testatorul trebuie să fie conștient de elementele de bază ale protocolului HTTP / HTTPS și să cunoască arhitectura aplicațiilor web, modalitățile de interceptare a traficului.
- Determinarea criteriilor de succes - Spre deosebire de cazurile noastre de testare funcțională, în care putem obține rezultate așteptate din cerințele utilizatorului / cerințele funcționale, testarea stiloului funcționează pe un alt model. Criteriile de succes sau criteriile de promovare a cazului de testare trebuie definite și aprobate.
- Revizuirea rezultatelor testelor din testarea anterioară - Dacă s-a făcut vreodată testarea prealabilă, este bine să revizuiți rezultatele testelor pentru a înțelege ce vulnerabilități existau în trecut și ce remedieri au fost luate pentru a le rezolva. Acest lucru oferă întotdeauna o imagine mai bună a testerilor.
- Înțelegerea mediului - Testerii ar trebui să dobândească cunoștințe despre mediu înainte de a începe testarea. Acest pas ar trebui să le asigure o înțelegere a firewall-urilor sau a altor protocoale de securitate care ar trebui să fie dezactivate pentru a efectua testarea. Browserul care urmează să fie testat ar trebui convertit într-o platformă de atac, de obicei realizată prin schimbarea proxy-urilor.
# 2) Atacuri / Faza de execuție (în timpul testării):
Testarea penetrării web poate fi făcută din orice locație, dat fiind faptul că furnizorul de internet nu ar trebui să aibă restricții asupra porturilor și serviciilor.
- Asigurați-vă că rulați un test cu diferite roluri de utilizator - Testerii ar trebui să se asigure că vor rula teste cu utilizatorii care au roluri diferite, deoarece sistemul se poate comporta diferit față de utilizatorii care au privilegiul diferit.
- Conștientizarea modului de gestionare a post-exploatării - Testatorii trebuie să respecte criteriile de succes definite ca parte a fazei 1 pentru a raporta orice exploatare, de asemenea, trebuie să urmeze procesul definit de raportare a vulnerabilităților constatate în timpul testării. Acest pas implică în principal testerul pentru a afla ce trebuie făcut după ce au constatat că sistemul a fost compromis.
- Generarea de rapoarte de testare - Orice testare efectuată fără raportare adecvată nu ajută foarte mult organizația, la fel și în cazul testelor de penetrare a aplicațiilor web. Pentru a se asigura că rezultatele testelor sunt partajate în mod corespunzător cu toate părțile interesate, testerii ar trebui să creeze rapoarte adecvate cu detalii despre vulnerabilitățile găsite, metodologia utilizată pentru testare, gravitatea și locația problemei găsite.
# 3) Faza postexecutare (după testare):
Odată ce testarea este finalizată și rapoartele de testare sunt partajate cu toate echipele implicate, lista următoare ar trebui să fie lucrată de toți -
- Sugerează remedierea - Testarea stiloului ar trebui să nu se încheie doar prin identificarea vulnerabilităților. Echipa în cauză, inclusiv un membru QA, ar trebui să revizuiască constatările raportate de testeri și apoi să discute remedierea.
- Vulnerabilități din retest - După ce remedierea este luată și implementată, testerii ar trebui să testeze din nou pentru a se asigura că vulnerabilitățile remediate nu au apărut ca parte a retestării lor.
- Curăță - Ca parte a Pentest, testerii fac modificări la setările proxy, așa că ar trebui să se facă curățenie și toate modificările să revină.
Unelte de testare a penetrării
Acum, deoarece ați citit deja articolul complet, cred că acum aveți o idee mult mai bună despre ce și cum putem testa penetrarea unei aplicații web.
Deci, spuneți-mi, putem efectua manual teste de penetrare sau se întâmplă întotdeauna automat prin utilizarea unui instrument. Fără îndoială, cred că majoritatea dintre voi spuneți Automatizare. :)
Acest lucru este adevărat, deoarece automatizarea aduce viteză, evită erorile umane manuale, acoperirea excelentă și alte câteva beneficii, dar în ceea ce privește Pen Test, ne cere să efectuăm unele teste manuale.
Testarea manuală ajută la găsirea vulnerabilităților legate de logica afacerii, reducând falsurile pozitive.
Instrumentele sunt predispuse să ofere o mulțime de falsuri pozitive și, prin urmare, este necesară intervenția manuală pentru a determina dacă acestea sunt vulnerabilități reale.
Citește și - Cum să testați securitatea aplicațiilor web utilizând instrumentul Acunetix Web Vulnerability Scanner (WVS)
Instrumentele sunt create pentru a automatiza eforturile noastre de testare. Mai jos găsiți o listă cu unele dintre instrumentele care pot fi utilizate pentru Pentest:
Pentru mai multe instrumente, puteți consulta, de asemenea - 37 de instrumente puternice de testare a stiloului pentru fiecare tester de penetrare
Cele mai bune companii de testare a penetrării
Furnizorii de servicii sunt companii care furnizează servicii care răspund nevoilor de testare ale organizațiilor. De obicei, excelează și dețin expertiză în diferite domenii de testare și pot efectua testări în mediul lor de testare găzduit.
Mai jos sunt menționate unele dintre companiile de top care oferă servicii de testare a penetrării:
- PSC (Conformitatea securității plăților)
- Netragard
- Securestate
- CoalFire
- Securitate HIGHBIT
- Netitudine
- 360
- NetSPi
- ControlScan
- Skods Minotti
- 2 | Sec
- Evaluarea securității
- Sisteme de audit de securitate
- Hacklabs
- CQR
Unele certificări de testare a penetrării:
Dacă sunteți interesat să obțineți certificarea pentru certificarea de penetrare a aplicațiilor web, puteți opta pentru certificările de mai jos:
- OSWE (Expert web ofensiv de securitate)
- GWAPT (Tester de penetrare a aplicației web GIAC)
- CWAPT (Tester de penetrare a aplicațiilor web certificate)
- eWPT (Tester de penetrare a aplicației web elearnSecurity)
Concluzie
În acest tutorial, am prezentat o prezentare generală a modului în care se efectuează testarea penetrării pentru aplicațiile web.
Cu aceste informații, testerul de penetrare poate începe testele de vulnerabilitate.
În mod ideal, testarea penetrării ne poate ajuta să creăm software securizat. Este o metodă costisitoare, astfel încât frecvența poate fi păstrată ca o dată pe an.
cine este cel mai bun furnizor de e-mail
Pentru a afla mai multe despre testele de penetrare, citiți mai jos articolele conexe:
- O abordare pentru testarea securității aplicațiilor web
- Test de penetrare - Ghid complet cu exemple de cazuri de testare
- Cum se testează securitatea aplicațiilor - Tehnici de testare a securității aplicațiilor web și desktop
Vă rugăm să împărtășiți opiniile sau experiența dvs. despre Pentest mai jos.
Lectură recomandată
- Ghid de testare a securității aplicațiilor web
- Testarea securității rețelei și cele mai bune instrumente de securitate a rețelei
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Testarea alfa și testarea beta (un ghid complet)
- Testarea securității (Un ghid complet)
- Un ghid complet de testare a penetrării cu exemple de cazuri de testare
- Instrumente de testare a penetrării aplicațiilor mobile și furnizori de servicii
- Diferența dintre Desktop, Client Server Testing și Web Testing