Forum IT Moldova

Testarea securități...
 
Notificări
Șterge tot

Testarea securității a aplicațiilor web


Luna
Postări: 279
 Luna
Admin
Topic starter
(@elucy)
Reputable Member
S-a alăturat: 3 ani în urmă

Testarea securității a aplicațiilor web

 

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.

 

Testarea de securitate este un proces care verifică dacă datele confidențiale rămân sau nu confidențiale (adică nu sunt expuse unor persoane/entități cărora nu le sunt destinate), iar utilizatorii pot îndeplini doar 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.

 

 

Instrumente de testare de securitate recomandate

#1) Acunetix

Acunetix este un scanner de securitate pentru aplicații web end-to-end. Acest lucru vă va oferi o vedere la 360 de grade asupra 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. Utilizează 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ările complete, precum și scanările incrementale. Conține o funcționalitate încorporată de gestionare a vulnerabilităților. Cu ajutorul instrumentelor CI precum Jenkins, noile versiuni pot fi scanate automat.

 

#2) Netsparker

Netsparker este o platformă pentru toate cerințele de testare a securității aplicațiilor web. Această soluție de scanare a vulnerabilităților web are capabilități de scanare a vulnerabilităților, evaluare a vulnerabilităților și gestionare a vulnerabilităților.

Netsparker este cel mai bun pentru precizia scanării și tehnologia unică de descoperire a activelor. Poate fi integrat cu aplicații populare de management al problemelor și CI/CD.

Netsparker oferă dovada exploatării privind identificarea vulnerabilității pentru a confirma că nu este un fals pozitiv. Are un motor de scanare avansat, funcții avansate de autentificare cu crawling și funcționalitate de integrare WAF etc. Cu acest instrument, veți obține rezultate scanate detaliate cu informații despre vulnerabilitate.

 

Abordarea testării de securitate

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.

Să 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 toate defectele de securitate cu exactitate cu toate detaliile necesare va ajuta cu siguranță.

 

Metode pentru testarea securității web

#1) Schimbarea parolei

Testarea de securitate pe o aplicație web poate fi demarată prin „Spararea parolei”. Pentru a vă autentifica în zonele private ale aplicației, puteți fie să ghicească un nume de utilizator/parolă, fie să utilizați un instrument de spargere a parolelor. O listă de nume de utilizator și parole obișnuite este disponibilă împreună cu instrumente de accesare a parolelor open source.

Dacă aplicația web nu impune o parolă complexă (de exemplu, cu alfabete, numere și caractere speciale sau cu cel puțin un număr necesar de caractere), poate să nu dureze foarte mult timp pentru a sparge numele de utilizator și parola.

Dacă un nume de utilizator sau o parolă sunt stocate în module cookie fără a fi criptate, atunci un atacator poate folosi diferite metode pentru a fura modulele cookie și informațiile stocate în module cookie, cum ar fi numele de utilizator și parola.

Pentru mai multe detalii, consultați un articol despre „Testarea cookie-urilor site-ului”.

 

#2) Manipularea URL prin metode HTTP GET

Un tester ar trebui să verifice dacă aplicația transmite informații importante în șirul de interogări sau nu. Acest lucru se întâmplă atunci când aplicația folosește metoda HTTP GET pentru a transmite informații între client și server.

Informațiile sunt transmise prin parametrii din șirul de interogare. Testerul poate modifica valoarea unui parametru din șirul de interogare pentru a verifica dacă serverul o acceptă.

Prin cererea HTTP GET, informațiile despre utilizator sunt transmise serverului pentru autentificare sau preluare de date. Atacatorul poate manipula fiecare variabilă de intrare transmisă de la această solicitare GET către un server pentru a obține informațiile necesare 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 ca atacatorul să intre într-o aplicație.

 

#3) Injecție SQL

Următorul factor care ar trebui verificat este SQL Injection. Introducerea unui singur ghilimele (') în orice casetă de text ar trebui să fie respinsă de aplicație. În schimb, dacă testerul întâlnește 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 cu 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 intrare de injectare SQL în aplicația dvs. web, aflați codul din baza de cod în care interogările directe MySQL sunt executate în baza de date, acceptând unele intrări ale utilizatorului.

Dacă datele introduse de utilizator 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 intrările utilizatorului ar trebui să fie tratate/escape corespunzător în astfel de cazuri.

 

#4) Cross-Site Scripting (XSS)

Un tester ar trebui să verifice în plus aplicația web pentru XSS (Cross-site scripting). 

De exemplu, orice  

<HTML> 

 

sau orice script 

<SCRIPT> 

 

nu ar trebui să fie acceptat de aplicație. Dacă este, atunci aplicația poate fi predispusă la un atac prin Cross-Site Scripting.

Atacatorul poate folosi această metodă pentru a executa un script sau un URL rău intenționat în browser-ul victimei. Folosind scripturi între site-uri, un atacator poate folosi scripturi precum JavaScript pentru a fura cookie-urile utilizatorului și informațiile stocate în cookie-uri.

Multe aplicații web obțin câteva informații utile și transmit aceste informații asupra unor variabile din diferite pagini.

De exemplu:

http://www.siteexamplu.com/index.php?userid=123&query =xyz

 

Atacatorul poate transmite cu ușurință unele intrări rău intenționate sau <script> ca parametru „&query” care poate explora date importante despre utilizator/server din browser.

Important: în timpul testării de securitate, testerul trebuie să fie foarte atent și să nu modifice niciunul dintre următoarele:

  •  Configurarea aplicației sau a serverului.
  •  Servicii care rulează pe server.
  •  Datele existente ale utilizatorului sau ale clienților găzduite de aplicație.

În plus, un test de securitate ar trebui evitat într-un sistem de producție.

 

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ă.

 

Termeni:

 

Vulnerabilitatea - Aceasta este o slăbiciune în aplicația web. Cauza unei astfel de „slăbiciuni” se poate datora erorilor din aplicație, unei injectări (cod SQL/script) sau prezenței virușilor.

 

Manipularea 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 al serverului și aceasta este denumită manipulare URL.

 

Injecția SQL - Acesta este procesul de inserare a instrucțiunilor SQL prin interfața de utilizator a aplicației web într-o interogare care este apoi executată de server.

 

XSS (Cross-Site Scripting) - Atunci când un utilizator inserează HTML/ script pe partea client în interfața de utilizator a unei aplicații web, această inserare este vizibilă pentru alți utilizatori și este denumită XSS.

 

Spoofing - Falsificarea este crearea de site-uri web și e-mailuri asemănătoare farsei.

Distribuie: