Web14: Bezpečnostné problémy v protokole HTTP

Web14: Bezpečnostné problémy v protokole HTTP

Tento článok predstavuje niektoré bezpečnostné problémy v protokole HTTP uvedené v dvoch dokumentoch RFC 7230 a RFC 7231. Príklady v článku o konkrétnych chybách sú uvedené v OWASP.

1. Riziká zo stredných faktorov

HTTP umožňuje použitie sprostredkovateľov na odpovedanie na požiadavky prostredníctvom série pripojení. Existujú tri bežné sprostredkovateľské prvky: proxy, brána a tunel.

Žiadosť alebo odpoveď bude musieť prejsť bodmi A, B a C. Môžu pristupovať k prenášaným citlivým informáciám, ako sú osobné informácie používateľov alebo organizácií. Nedostatočná pozornosť, ktorú sprostredkovatelia venujú bezpečnosti a súkromiu, môže viesť k širokému spektru potenciálnych útokov.

Vývojári a vývojári systému by mali počas procesu návrhu systému, kódovania a nasadenia zvážiť faktory ochrany súkromia a bezpečnosti.

Používatelia si musia byť vedomí nebezpečenstva používania nedôveryhodných serverov proxy alebo brán.

2. Rozdelenie odozvy

Rozdelenie odozvy (aka CRLF injection) je populárna technika využívania webu. Útočník posiela zakódované údaje v niektorých parametroch požiadavky, ktoré sa potom dekódujú a opakujú v určitom poli hlavičky odpovede.

Ak je týmto údajom symbol predstavujúci koniec odpovede a je iniciovaná následná odpoveď, pôvodná odpoveď bude rozdelená na dve časti a obsah druhej odpovede bude kontrolovaný útočníkom. Útočník potom môže podať ďalšiu požiadavku v rámci toho istého trvalého pripojenia a oklamať príjemcu (vrátane sprostredkovateľov), aby uveril, že táto druhá odpoveď je odpoveďou na druhú požiadavku.

3. Žiadosť o pašovanie

Pašovanie požiadaviek je technika, ktorá využíva rozdiely v spracovaní požiadaviek rôznymi typmi serverov na skrytie zdanlivo neškodných požiadaviek pripojených k pôvodnej žiadosti.

Uvažujme o nasledujúcom príklade:

Predpokladajme, že požiadavka POST obsahuje v hlavičke dve polia „Dĺžka obsahu“ s dvoma rôznymi hodnotami. Niektoré servery túto požiadavku odmietnu (IIS a Apache), iné nie. Napríklad SunONE W/S 6.1 používa pole Content-length ako prvé, zatiaľ čo sunONE Proxy 3.6 používa pole Content-length ako druhé.

Za predpokladu, že SITE je DNS servera SunONE W/S, ktorý sa nachádza za serverom SunONE Proxy, na SunONE W/S sa nachádza súbor poison.html. Tu je návod, ako využiť návrh požiadaviek HTTP na základe nezrovnalostí v spracovaní medzi dvoma servermi:

Web14: Bezpečnostné problémy v protokole HTTP

[Všimnite si, že každý riadok končí znakom CRLF (“”), okrem riadku 10]

Pozrime sa, čo sa stane, keď sa požiadavka odošle W/S cez proxy server. Najprv proxy analyzuje požiadavku z riadkov 1 až 7 (modrá) a narazí na dve polia Content-Length. Ako je uvedené vyššie, bude ignorovať prvé pole a pochopí, že telo požiadavky má dĺžku 44 bajtov. Preto s údajmi z riadkov 8 až 10 zaobchádza ako s prvým telom požiadavky (od riadkov 8 až 10 sú údaje dlhé presne 44 bajtov). Proxy potom analyzuje riadky 11 až 14 (červenou farbou) ako druhú požiadavku klienta.

Teraz sa pozrime, ako W/S interpretuje vyššie uvedené údaje, keďže sú posielané z proxy. Na rozdiel od proxy serverov W/S použije prvé pole Content-Length a interpretuje ho takto: prvá požiadavka nemá telo a druhá požiadavka začína od riadku 8 (všimnite si, že W/S bude analyzovať od riadku 11 ako hodnotu poľa Bla).

Ďalej sa pozrime, ako sa odpoveď vráti klientovi. Požiadavka, ktorej W/S rozumie, je “POST /foobar.html” (z riadku 1) a “GET /poison.html” (z riadku 8), takže klientovi pošle 2 odpovede s obsahom stránky foobar. html a jed.html. Proxy chápe, že tieto 2 odpovede zodpovedajú 2 požiadavkám: "POST /foobar.html" (z riadku 1) a "GET /page_to_poison.html" (riadok 11). Proxy uloží do vyrovnávacej pamäte obsah stránky jed.html zodpovedajúci adrese URL „page_to_poison.html“ (otrávenie pamäte cache). Odtiaľ, keď klient požaduje „page_to_poison.html“, dostane obsah stránky jed.html.

4. Útok na základe cesty k súboru

Webové servery často používajú svoj lokálny súborový systém na riadenie mapovania názvov súborov v URI na skutočné zdroje na serveri. Väčšina súborových systémov nie je navrhnutá na ochranu pred škodlivými cestami k súborom. Preto sa server musí vyhýbať prístupu k dôležitým systémovým súborom.

Napríklad UNIX, Microsoft Windows a niekoľko ďalších operačných systémov používa „..“ ako prvok cesty, ktorý predstavuje adresár o úroveň vyššie ako aktuálny súbor/adresár. Bez riadnej vstupnej kontroly a autorizácie je možné pristupovať k citlivým súborom/priečinkom systému zadaním ciest smerujúcich k týmto súborom/priečinkom.

5. Typy útokov: Command Injection, Code Injection, Query Injection

[Webové servery často používajú parametre v URI ako vstup na vykonávanie systémových príkazov a databázových dotazov. Údaje prijaté v žiadosti však nemožno vždy dôverovať. Útočník môže vytvárať a upravovať komponenty v požiadavke (ako sú metódy, polia v hlavičke, telo...), vykonávať systémové príkazy, dotazovať sa v databáze...

Napríklad SQL Injection je bežný útok, pri ktorom webový server dostane parametre v URI, ktoré sú súčasťou SQL dotazu. Preto môže útočník oklamať webový server, aby vykonal nelegálne SQL dotazy, aby ukradol alebo sabotoval databázu.
Vo všeobecnosti by sa údaje odoslané používateľmi nemali používať priamo na vykonávanie operácií na serveri. Tieto údaje musia prejsť filtrami, ktoré definujú, čo je platné a čo neplatné, čím sa eliminujú nechcené údaje.

6. Odhalenie osobných údajov

Klienti často obsahujú množstvo osobných informácií vrátane informácií poskytnutých používateľom na interakciu so serverom (ako je používateľské meno, heslo, poloha, e-mailová adresa atď.) a informácie o aktivitách pri prehliadaní webu. používateľa (história, záložky, atď.). Pri implementácii je potrebné venovať pozornosť predchádzaniu bodom, ktoré môžu odhaliť tieto súkromné ​​informácie.

7. Odhalenie citlivých informácií v URI

Identifikátory URI sú podľa návrhu určené na zdieľanie so všetkými používateľmi a nie je zaručené, že budú bezpečné. Identifikátory URI sa často zobrazujú v zdrojovom kóde webovej lokality a sú uložené v záložkách bez ochranných mechanizmov. Preto nebude bezpečné, ak URI obsahuje citlivé informácie, osobné informácie atď.

Vyhnite sa používaniu metódy GET na odosielanie osobných informácií na server, pretože sa zobrazia v URI. Namiesto toho použite metódu POST.

8. Odhalenie informácií o použitom softvéri

Polia User-Agent, Via, Server v hlavičke zvyčajne poskytujú informácie o softvéri používanom odosielateľom. Teoreticky to umožňuje útočníkom ľahšie zneužiť známe zraniteľnosti v tomto softvéri.


Nastavte router Linksys so statickou IP adresou

Nastavte router Linksys so statickou IP adresou

Statická adresa IP je pevná adresa IP nakonfigurovaná v nastaveniach počítača alebo smerovača. Niektorí poskytovatelia internetových služieb (ISP) vyžadujú, aby ste na svojom počítači zadali statickú IP adresu alebo nastavenia TCP/IP smerovača, aby sa mohli pripojiť na internet.

Ako odstrániť prehliadač únosca PublicBoardSearch

Ako odstrániť prehliadač únosca PublicBoardSearch

Podľa spôsobu infekcie patrí PublicBoardSearch do kategórie únoscov prehliadača. Ide o typ malvéru, ktorý je navrhnutý tak, aby prevzal nastavenia známeho prehliadača.

Zbierka tapiet Apex Legends s vysokým rozlíšením pre počítače

Zbierka tapiet Apex Legends s vysokým rozlíšením pre počítače

Zbierka tapiet s vysokým rozlíšením pre používateľov počítačov a notebookov s plným rozlíšením od Full HD po 4K.

Čo je Localhost? Ako sa Localhost líši od 127.0.0.1?

Čo je Localhost? Ako sa Localhost líši od 127.0.0.1?

Unixový systém, tiež známy ako „loopback“, môže posielať a prijímať sieťovú komunikáciu cez virtuálne sieťové zariadenie. Počítač môže posielať správy sám sebe, čo umožňuje komunikáciu bez aktívnej siete.

5 dôvodov, prečo je v poriadku používať bezplatný antivírusový softvér

5 dôvodov, prečo je v poriadku používať bezplatný antivírusový softvér

Pravdepodobne ste už počuli príslovie, že dostanete to, za čo zaplatíte, ale čo keď príde na antivírusový softvér? Mali by ste si radšej kúpiť softvérové ​​balíky, než sa rozhodnúť pre bezplatné riešenia ochrany? Možno to tak nie je a tu je dôvod!

Aký je rozdiel medzi antivírusovým softvérom pre Windows a Mac?

Aký je rozdiel medzi antivírusovým softvérom pre Windows a Mac?

V dnešnom článku Quantrimang zhrnie populárne značky antivírusového softvéru na trhu a zistí, ako sa líšia medzi Windows PC a macOS.

4 veci, ktoré chcú používatelia vidieť vo Windowse v roku 2021

4 veci, ktoré chcú používatelia vidieť vo Windowse v roku 2021

Nie je jasné, čo prinesie Sun Valley okrem zmien a vylepšení používateľského rozhrania najvyššej úrovne. Tu je teda to, čo používatelia dúfajú, že uvidia od veľkej aktualizácie systému Windows 10 Sun Valley, ktorá bude uvedená na trh budúci rok.

Ako opraviť chybu Spustiť ako správca nefunguje v systéme Windows

Ako opraviť chybu Spustiť ako správca nefunguje v systéme Windows

Systém Windows poskytuje možnosť Spustiť ako správca, ktorá používateľom umožňuje spúšťať aplikácie a programy s oprávneniami správcu. Môžete ho použiť aj na riešenie problémov s počítačom. Čo ak však táto funkcia zlyhá a odoberie vám práva správcu?

Ako opraviť chyby na disku v systéme Windows

Ako opraviť chyby na disku v systéme Windows

Chyby súvisiace s jednotkou vášho počítača môžu zabrániť správnemu spusteniu systému a obmedziť prístup k vašim súborom a aplikáciám.

Modular Malware – Nová metóda tajného útoku na ukradnutie údajov

Modular Malware – Nová metóda tajného útoku na ukradnutie údajov

Niektoré varianty malvéru môžu používať rôzne moduly na zmenu spôsobu, akým ovplyvňujú cieľový systém. Čo je teda modulárny malvér a ako funguje?