web application security testing guide
cum se creează fișierul testng xml în eclipsă
Datorită cantității uriașe de date stocate în aplicațiile web și a creșterii numărului de tranzacții pe web, testarea adecvată a securității aplicațiilor web devine foarte importantă zi de zi.
În acest articol, vom afla în detaliu despre termenii cheie folosiți în testarea securității site-urilor web și abordarea de testare.
Ce veți învăța:
- Ce este testarea de securitate?
- Câțiva termeni cheie utilizați în testarea securității
- Instrumente de testare a securității recomandate
- Abordarea testării securității
- Metode pentru testarea securității web
- Concluzie
- Lectură recomandată
Ce este testarea de securitate?
Testarea securității este procesul care verifică dacă datele confidențiale rămân confidențiale sau nu (adică nu este expus persoanelor / entităților pentru care nu este destinat) și utilizatorii pot îndeplini numai acele sarcini pe care sunt autorizați să le îndeplinească
De exemplu, un utilizator nu ar trebui să poată refuza funcționalitatea site-ului web altor utilizatori sau un utilizator nu ar trebui să poată schimba funcționalitatea aplicației web într-un mod neintenționat etc.
Câțiva termeni cheie utilizați în testarea securității
Înainte de a continua, va fi util să ne familiarizăm cu câțiva termeni care sunt frecvent utilizați în testarea securității aplicației web:
Ce este „Vulnerabilitatea”?
Aceasta este slăbiciunea aplicației web. Cauza unei astfel de „slăbiciuni” se poate datora bug-urilor din aplicație, unei injecții (cod SQL / script) sau prezenței virușilor.
Ce este „Manipulare URL”?
Unele aplicații web comunică informații suplimentare între client (browser) și server în adresa URL. Modificarea unor informații din adresa URL poate duce uneori la un comportament neintenționat de către server, denumit astfel Manipulare URL .
Ce este „injecția SQL”?
Acesta este procesul de inserare a instrucțiunilor SQL prin interfața de utilizare a aplicației web într-o interogare care este apoi executată de server.
Ce este „XSS (Cross-Site Scripting)”?
Când un utilizator inserează script HTML / partea client în interfața de utilizare a unei aplicații web, această inserție este vizibilă pentru alți utilizatori și este denumită ca XSS .
Ce este „Spoofing”?
Se numește crearea de site-uri web sau de e-mailuri similare Spoofing .
Instrumente de testare a securității recomandate
# 1) Acunetix
companii de top pentru jocuri pentru care să lucreze
Acunetix este un scaner de securitate pentru aplicații web end-to-end. Acesta va oferi o imagine de 360 de grade a securității organizației dvs. Este capabil să detecteze 6500 de tipuri de vulnerabilități, cum ar fi injecții SQL, XSS și parole slabe, etc. Folosește tehnologia avansată de înregistrare macro pentru scanarea formularelor complexe pe mai multe niveluri.
Platforma este intuitivă și ușor de utilizat. Puteți programa și prioritiza scanări complete, precum și scanări incrementale. Conține o funcționalitate de gestionare a vulnerabilităților încorporată. Cu ajutorul instrumentelor CI precum Jenkins, noile versiuni pot fi scanate automat.
=> Încercați Acunetix pentru securitatea aplicațiilor web
# 2) Kiuwan
Găsiți și remediați vulnerabilitățile din codul dvs. în fiecare etapă a SDLC.
Kiuwan respectă 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 gratuit
Abordarea testării securității
Pentru a efectua un test de securitate util al unei aplicații web, testerul de securitate ar trebui să aibă cunoștințe bune despre protocolul HTTP.
Este important să înțelegeți modul în care clientul (browserul) și serverul comunică folosind HTTP.
În plus, testerul ar trebui să cunoască cel puțin elementele de bază ale injecției SQL și XSS.
Sperăm că numărul de defecte de securitate prezente în aplicația web nu va fi mare. Cu toate acestea, a fi capabil să descrie cu exactitate toate defectele de securitate cu toate detaliile necesare va ajuta cu siguranță.
Metode pentru testarea securității web
# 1) Cracarea parolei
Testarea securității pe un Aplicatie web poate fi lansat prin „Cracarea parolei”. Pentru a vă conecta la zonele private ale aplicației, se poate ghici un nume de utilizator / o parolă sau se poate folosi un instrument de cracker pentru parole. O listă de nume de utilizator și parole obișnuite sunt disponibile împreună cu crackerele de parole open source.
Dacă aplicația web nu impune o parolă complexă ( De exemplu, cu alfabete, număr și caractere speciale sau cu cel puțin un număr necesar de caractere), s-ar putea să nu dureze prea mult pentru a sparge numele de utilizator și parola.
Dacă un nume de utilizator sau o parolă este stocată în cookie-uri fără criptare, un atacator poate utiliza diferite metode pentru a fura cookie-urile și informațiile stocate în cookie-uri, cum ar fi numele de utilizator și parola.
Pentru mai multe detalii vezi un articol despre „ Testarea cookie-urilor pe site-ul web ”.
# 2) Manipulare URL prin metode HTTP GET
Un tester ar trebui să verifice dacă aplicația transmite sau nu informații importante în șirul de interogare. Acest lucru se întâmplă atunci când aplicația utilizează metoda HTTP GET pentru a transmite informații între client și server.
care este cheia mea de securitate a rețelei pentru hotspot-ul Verizon
Informațiile sunt transmise prin parametrii din șirul de interogare. Testerul poate modifica o valoare de parametru în șirul de interogare pentru a verifica dacă serverul o acceptă.
Prin cererea HTTP GET, informațiile utilizatorului sunt transmise la server pentru autentificare sau preluare date. Atacatorul poate manipula fiecare variabilă de intrare transmisă de la această solicitare GET către un server pentru a obține informațiile solicitate sau pentru a corupe datele. În astfel de condiții, orice comportament neobișnuit al aplicației sau al serverului web este ușa pentru atacator să intre într-o aplicație.
# 3) Injecție SQL
Următorul factor care ar trebui verificat este SQL Injection. Introducerea unui ghilimel unic (‘) în orice casetă de text ar trebui respinsă de aplicație. În schimb, dacă testerul întâmpină o eroare în baza de date, înseamnă că intrarea utilizatorului este inserată într-o interogare care este apoi executată de o aplicație. Într-un astfel de caz, aplicația este vulnerabilă la injecția SQL.
Atacurile de injecție SQL sunt foarte critice, deoarece un atacator poate obține informații vitale din baza de date a serverului. Pentru a verifica punctele de introducere a injecției SQL în aplicația dvs. web, aflați codul din baza de cod în care sunt executate interogări MySQL directe în baza de date acceptând unele intrări de utilizator.
Dacă datele de introducere ale utilizatorului sunt create în interogări SQL pentru a interoga baza de date, un atacator poate injecta instrucțiuni SQL sau o parte din instrucțiunile SQL ca intrări ale utilizatorului pentru a extrage informații vitale dintr-o bază de date. Chiar dacă un atacator reușește să blocheze aplicația, din eroarea de interogare SQL afișată pe un browser, atacatorul poate obține informațiile pe care le caută.
Caracterele speciale din datele introduse de utilizator ar trebui să fie manipulate / evadate corespunzător în astfel de cazuri.
# 4) Scripturi între site-uri (XSS)
Un tester ar trebui să verifice suplimentar aplicația web pentru XSS (Cross-site scripting). Orice HTML De exemplu, sau orice script De exemplu, nu trebuie acceptată de cerere. Dacă este, atunci aplicația poate fi predispusă la un atac prin intermediul scripturilor cross-site.
Atacatorul poate folosi această metodă pentru a executa un script sau o adresă URL rău intenționată în browserul victimei. Folosind scripturi între site-uri, un atacator poate folosi scripturi precum JavaScript pentru a fura cookie-urile utilizatorilor și informațiile stocate în cookie-uri.
Multe aplicații web obțin informații utile și transmit aceste informații în unele variabile din diferite pagini.
De exemplu, http://www.examplesite.com/index.php?userid=123 & interogare = xyz
Atacatorul poate transmite cu ușurință o intrare rău intenționată sau ca parametru „& interogare” care poate explora date importante de utilizator / server în browser.
Important: În timpul testării de securitate, testerul ar trebui să fie foarte atent pentru a nu modifica oricare dintre următoarele:
- Configurarea aplicației sau a serverului
- Servicii care rulează pe server
- Datele existente despre utilizatori sau clienți găzduite de aplicație
În plus, ar trebui evitat un test de securitate într-un sistem de producție.
Concluzie
Scopul unui test de securitate este de a descoperi vulnerabilitățile aplicației web, astfel încât dezvoltatorii să poată elimina aceste vulnerabilități din aplicație și să protejeze aplicația web și datele de orice acțiune neautorizată.
Lectură recomandată => Diferența dintre SAST / DAST / IAST / RASP
Simțiți-vă liber să împărtășiți comentariile / sugestiile dvs. despre acest articol.
Lectură recomandată
- Ghid pentru începători la testarea penetrării aplicațiilor web
- Testarea securității (Un ghid complet)
- Testarea alfa și testarea beta (un ghid complet)
- 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)
- Ghid complet de testare a verificării de construcție (testare BVT)
- Top 4 Instrumente de testare securitate open source pentru a testa aplicația web
- Testarea funcțională Vs testarea non-funcțională