Web14: Probleme de securitate în protocolul HTTP

Acest articol prezintă câteva probleme de securitate în protocolul HTTP , ridicate în două documente RFC 7230 și RFC 7231. Exemplele din articolul despre erori specifice sunt menționate de la OWASP.

1. Riscuri din factori intermediari

HTTP permite utilizarea intermediarilor pentru a răspunde solicitărilor printr-o serie de conexiuni. Există trei elemente intermediare comune: proxy, gateway și tunel.

O cerere sau un răspuns va trebui să treacă prin punctele A, B și C. Aceștia pot accesa informațiile sensibile transmise, cum ar fi informațiile personale ale utilizatorilor sau ale organizațiilor. Lipsa de atenție acordată securității și confidențialității de către intermediari poate duce la o gamă largă de potențiale atacuri.

Dezvoltatorii de sisteme și dezvoltatorii ar trebui să ia în considerare factorii de confidențialitate și securitate în timpul procesului de proiectare, codificare și implementare a sistemului.

Utilizatorii trebuie să fie conștienți de pericolele utilizării proxy-urilor sau gateway-urilor care nu sunt de încredere.

2. Divizarea răspunsului

Divizarea răspunsului (alias injecție CRLF) este o tehnică populară de exploatare web. Atacatorul trimite date codificate, în unii parametri de cerere, care sunt apoi decodate și repetate într-un anumit câmp al antetului răspunsului.

Dacă aceste date sunt un simbol care reprezintă sfârșitul răspunsului și este inițiat un răspuns ulterior, răspunsul inițial va fi împărțit în două, iar conținutul celui de-al doilea răspuns va fi controlat de atacator. Atacatorul poate face apoi o altă solicitare în cadrul aceleiași conexiuni persistente și poate păcăli destinatarul (inclusiv intermediarii) să creadă că acest al doilea răspuns este ca răspuns la a doua cerere.

3. Solicitați contrabandă

Contrabanda cererilor este o tehnică care exploatează diferențele în procesarea cererilor de către diferite tipuri de servere pentru a ascunde cererile aparent inofensive atașate cererii inițiale.

Să luăm în considerare următorul exemplu:

Să presupunem că o solicitare POST conține două câmpuri „Lungimea conținutului” în antet cu două valori diferite. Unele servere vor refuza această solicitare (IIS și Apache), dar altele nu. De exemplu, SunONE W/S 6.1 folosește mai întâi câmpul Content-length, în timp ce sunONE Proxy 3.6 ia pe al doilea câmpul Content-length.

Presupunând că SITE este DNS-ul unui SunONE W/S, situat în spatele unui SunONE Proxy, există un fișier poison.html situat pe SunONE W/S. Iată cum să exploatezi HTTP Request Suggling pe baza inconsistențelor în procesarea între două servere:

Web14: Probleme de securitate în protocolul HTTP

[Rețineți că fiecare linie se termină cu un CRLF (""), cu excepția liniei 10]

Să luăm în considerare ce se întâmplă atunci când o solicitare este trimisă către W/S prin serverul Proxy. Mai întâi, proxy-ul va analiza cererea de la rândurile 1 la 7 (albastru) și va întâlni două câmpuri Content-Length. După cum sa menționat mai sus, va ignora primul câmp și va înțelege că corpul cererii are 44 de octeți. Prin urmare, tratează datele de la liniile 8 la 10 ca primul corp de solicitare (de la liniile 8 la 10, datele au exact 44 de octeți). Proxy-ul va analiza apoi liniile 11 până la 14 (în roșu) ca a doua cerere a clientului.

Acum să vedem cum interpretează W/S datele de mai sus, deoarece sunt transmise de la proxy. Spre deosebire de proxy, W/S va folosi primul câmp Content-Length și îl va interpreta după cum urmează: prima solicitare nu are corp, iar a doua cerere începe de la linia 8 (rețineți că W/S va analiza de la linia 11 în continuare ca valoare al câmpului Bla).

În continuare, să vedem cum răspunsul este returnat clientului. Solicitarea pe care W/S o înțelege este „POST /foobar.html” (de la linia 1) și „GET /poison.html” (de la linia 8), așa că va trimite clientului 2 răspunsuri cu conținutul paginii foobar. html și otravă.html. Proxy-ul înțelege că aceste 2 răspunsuri corespund a 2 solicitări: „POST /foobar.html” (de pe linia 1) și „GET /page_to_poison.html” (linia 11). Proxy-ul va stoca în cache conținutul paginii poison.html corespunzătoare adresei URL „page_to_poison.html” (otrăvirea cache). De acolo, atunci când clientul solicită „page_to_poison.html” va primi conținutul paginii poison.html.

4. Atacul bazat pe calea fișierului

Serverele web își folosesc frecvent sistemul de fișiere local pentru a gestiona maparea numelor de fișiere din URI-uri la resursele reale de pe server. Majoritatea sistemelor de fișiere nu sunt concepute pentru a proteja împotriva căilor de fișiere rău intenționate. Prin urmare, serverul trebuie să evite accesarea fișierelor importante de sistem.

De exemplu, UNIX, Microsoft Windows și alte câteva sisteme de operare folosesc „..” ca element de cale pentru a reprezenta un director cu un nivel deasupra fișierului/directorului curent. Fără un control și autorizare adecvată a intrării, fișierele/folderele sensibile ale sistemului pot fi accesate prin introducerea căilor care indică aceste fișiere/foldere.

5. Tipuri de atacuri: Command Injection, Code Injection, Query Injection

[Serverele web folosesc adesea parametrii din URI ca intrare pentru a executa comenzile sistemului și interogările bazei de date. Cu toate acestea, datele primite în cerere nu pot fi întotdeauna de încredere. Un atacator poate crea și modifica componente în cerere (cum ar fi metode, câmpuri din antet, corp...), pentru a executa comenzi de sistem, a interoga baza de date...

De exemplu, SQL Injection este un atac comun în care serverul web primește parametri în URI care fac parte din interogarea SQL. Prin urmare, un atacator poate păcăli serverul web pentru a executa interogări SQL ilegale, pentru a fura sau a sabota baza de date.
În general, datele transmise de utilizatori nu trebuie utilizate direct pentru a efectua operațiuni pe server. Aceste date trebuie să treacă prin filtre, care definesc ce este valid și ce este invalid, eliminând astfel datele nedorite.

6. Dezvăluirea informațiilor personale

Clienții conțin adesea o mulțime de informații personale, inclusiv informații furnizate de utilizator pentru a interacționa cu serverul (cum ar fi numele de utilizator, parola, locația, adresa de e-mail etc.) și informații despre activitățile de navigare pe web ale utilizatorului (istoric, marcaje, etc.). La implementare, ar trebui să se acorde atenție prevenirii punctelor care pot dezvălui aceste informații private.

7. Dezvăluirea informațiilor sensibile în URI

URI-urile, prin proiectare, sunt menite să fie partajate cu toți utilizatorii și nu se garantează că sunt sigure. URI-urile sunt adesea afișate în codul sursă al site-ului web și sunt stocate în marcaje fără mecanisme de protecție. Prin urmare, nu va fi sigur dacă URI-ul conține informații sensibile, informații personale etc.

Evitați utilizarea metodei GET pentru a trimite informații personale către server, deoarece acestea vor fi afișate în URI. Folosiți în schimb metoda POST.

8. Dezvăluirea informațiilor software utilizate

Câmpurile User-Agent, Via, Server din antet oferă de obicei informații despre software-ul utilizat de expeditor. În teorie, acest lucru permite atacatorilor să exploateze mai ușor vulnerabilitățile cunoscute din aceste software.

Lasă un comentariu

Cum să eliminați notificarea de solicitare a drepturilor de autor din colțul din dreapta al ecranului pe Windows 10

Cum să eliminați notificarea de solicitare a drepturilor de autor din colțul din dreapta al ecranului pe Windows 10

Vedeți o notificare de activare a Windows 10 în colțul din dreapta al ecranului? Acest articol vă va ghida cum să ștergeți notificarea de solicitare a drepturilor de autor pe Windows 10.

Instrucțiuni de la AZ despre cum să instalați Windows 10 build 14393.222

Instrucțiuni de la AZ despre cum să instalați Windows 10 build 14393.222

Recent, Microsoft a lansat cea mai recentă actualizare cumulativă pentru utilizatorii de PC Windows 10 numită Build 14393.222. Această actualizare lansată pentru Windows 10 remediază în principal erorile pe baza feedback-ului utilizatorilor și îmbunătățește experiența de performanță a sistemului de operare.

Protejați-vă rețeaua de computere cu gazda Bastion în doar 3 pași

Protejați-vă rețeaua de computere cu gazda Bastion în doar 3 pași

Aveți computere în rețeaua locală care au nevoie de acces extern? Utilizarea unei gazde bastion ca gatekeeper pentru rețeaua dvs. poate fi o soluție bună.

3 moduri de a șterge rapid toate jurnalele de evenimente în Windows 10

3 moduri de a șterge rapid toate jurnalele de evenimente în Windows 10

Uneori, poate fi necesar să ștergeți jurnalele vechi de evenimente dintr-o dată. În acest ghid, Quantrimang.com vă va arăta 3 moduri de a șterge rapid toate jurnalele de evenimente din Windows 10 Event Viewer.

Cum să creați o tastă Windows dacă tastatura nu este disponibilă

Cum să creați o tastă Windows dacă tastatura nu este disponibilă

Dacă preferați să utilizați o tastatură clasică veche, cum ar fi IBM Model M, care nu include o tastă fizică Windows, există o metodă ușoară de a adăuga mai multe, împrumutând o tastă pe care nu o utilizați des.

Cum se creează un mod de fundal transparent pe Windows 10

Cum se creează un mod de fundal transparent pe Windows 10

WindowTop este un instrument care are capacitatea de a estompa toate ferestrele aplicațiilor și programele care rulează pe computere cu Windows 10. Sau puteți utiliza o interfață cu fundal întunecat pe Windows.

Metodele IP false vă ajută să accesați anonim

Metodele IP false vă ajută să accesați anonim

În multe articole anterioare, am menționat că păstrarea anonimatului online este extrem de importantă. Informații private sunt scurse în fiecare an, ceea ce face securitatea online din ce în ce mai necesară. Acesta este și motivul pentru care ar trebui să folosim adrese IP virtuale. Mai jos, vom afla despre metodele de a crea IP-uri false!

Cum să dezactivați bara de limbă pe bara de activități Windows 8

Cum să dezactivați bara de limbă pe bara de activități Windows 8

Bara de limbă din Windows 8 este o bară de instrumente de limbă în miniatură concepută pentru a fi afișată automat pe ecranul desktop. Cu toate acestea, mulți oameni doresc să ascundă această bară de limbă în bara de activități.

Sfaturi pentru a optimiza viteza conexiunii la Internet de la Linksys

Sfaturi pentru a optimiza viteza conexiunii la Internet de la Linksys

Maximizarea vitezei de internet este esențială pentru optimizarea conexiunii la rețea. Puteți avea o experiență optimă de divertisment și de lucru folosind computere, televizoare gata de internet, console de jocuri etc.

Cum se configurează WEP, WPA, WPA2 pentru routerul Linksys

Cum se configurează WEP, WPA, WPA2 pentru routerul Linksys

Conectivitatea wireless este o necesitate astăzi și, din această cauză, securitatea wireless este esențială pentru a asigura siguranța în rețeaua dumneavoastră internă.