skip to Main Content
XPath, Un Nou Tip De Atac De Care Trebuie Să Ne Ferim
XPath, un nou tip de atac de care trebuie să ne ferim
cPanel/WHM
1. SMTP, modalitatea de funcționare a celui mai utilizat protocol
2. Securitatea cibernetică, cele mai comune amenințări și cum le putem evita
3. XPath, un nou tip de atac de care trebuie să ne ferim
4. Găzduire web pentru dezvoltatori, informații și opțiuni
5. Găzduire Magento
6. Phishing, furturile de identitate
7. Plesk vs cPanel, ce aspecte trebuie luate în considerare
8. Securitate VPS, secretele pe care le poți utiliza în propriul beneficiu
9. Shared hosting, informații și prezentare pentru începători
10. Găzduirea mai multor domenii, opțiuni și furnizori ai acestor servicii
11. Termeni Linux, 10 noțiuni cruciale pe care ar trebui să le cunoașteți

XPath, un nou tip de atac de care trebuie să ne ferim. Acesta poate fi folosit pentru acces neautorizat sau dezvăluirea de informații sensibile.

Introducere

Ca în cazul SQL, atacurile XPath apar atunci când un website construiește o interogare XPath pentru datele XML. Acestea sunt preluate din informațiile furnizate de utilizator. Problemele care apar atunci când utilizați XML pentru stocarea datelor sunt asemănătoare cu cele ale SQL.

Injecția XPath este un tip de atac în care admisia utilizatorilor rău intenționați poate crea mari prejudicii. Acesta poate fi folosit pentru a acorda acces neautorizat sau pentru a dezvălui informații sensibile.

De exemplu, structura și conținutul documentelor XML. Acest stil de atac se realizează prin utilizarea admisiei utilizatorului la construcția șirului de interogare. Atacurile SQL depind de dialectul SQL folosit de baza de date țintă.

În schimb, atacurile XPath sunt mult mai adaptabile și omniprezente, inclusiv în zona de magazine online.

Există două tipuri de atacuri de injecție XML: Boolenization și XML Crawling

Boolenization: atacatorul poate afla dacă expresia XPath dată este adevărată sau falsă. Să presupunem că scopul atacatorului este să vă autentificați în cont. Logarea cu succes ar fi egală cu ”Adevărat” și încercarea de logare eșuată ar fi egală cu ”Fals”.

Doar o porțiune inteligentă a informațiilor este analizată ”caracter” sau numărul. Când atacatorul se concentrează asupra șirului, acesta îl poate dezvălui în întregime. Astfel, acesta verifică fiecare personaj din clasa/raza de caractere din care aparține șirul.

Crawling XML:

Pentru a cunoaște structura documentelor XML, atacatorul poate utiliza:

count(expression)
count(//user/child::node()

Va returna numărul de noduri (în acest caz 2).

stringlength(string)

string-length(//user[position()=1]/child::node()[position()=2])=6

Atacatorul va afla dacă al doilea șir (parola) al primului nod („administrator” al utilizatorului) este format din 6 caractere. Toate acestea se vor realiza prin interogare.

substring(string, number, number)

substring((//user[position()=1]/child::node()[position()=2]),1,1)="a"

Această interogare va confirma (True) sau va nega (False). Se urmărește dacă primul caracter al parolei utilizatorului („admin”) este un caracter ”a”.

Dacă formularul de autentificare ar arăta astfel:

C#:

String FindUser;

FindUser = "//user[login/text()='" + Request("Username") + "' And

      password/text()='" + Request("Password") + "']";

Apoi, atacatorul ar trebui să injecteze următorul cod:

Username: ' or substring((//user[position()=1]/child::node()[position()=2]),1,1)="a" or ''='

Sintaxa XPath poate aminti de atacurile SQL obișnuite. Atacatorul trebuie să ia în considerare faptul că acest limbaj nu permite comentarii pentru restul expresiei. Pentru a omite această limitare, atacatorul ar trebui să folosească expresii OR.

Astfel, acesta poate anula toate expresiile, însă riscă o perturbare a ataculului.

Din cauză de Boolenization, numărul de întrebări, chiar și în cadrul unui document XML mic, poate fi foarte mare.  De aceea, acest atac nu se desfășoară manual.

Cunoscând câteva funcții de bază XPath, atacatorul este capabil să scrie o aplicație într-un timp scurt. Aceasta îi va reconstrui structura documentului și o va completa cu datele de la sine.

Cum să preveniți atacurile XPath

Datorită asemănării cu atacurile SQLi, principalele metode de prevenire sunt, de asemenea, similare. Aceste metode sunt la fel și pentru alte atacuri tipice de injecție de cod.

  • validarea intrării: dezvoltatorul se asigură că aplicația acceptă doar o intrare legitimă;
  • parametrizare: prin această metodă, interogările sunt precompilate. Astfel, trecerea utilizatorilor se realizează ca parametrii în loc de expresii.

This Post Has 0 Comments

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *