Online kontrola zranitelnosti Shellshock
Publikováno: Artem Prysyazhnuk 2014-06-12 všechny článkyJak to funguje?
Je vyvinut pro server Linux, na kterém je nainstalován webový server. Algoritmus je velmi jednoduchý. Následně vygenerujeme 4 požadavky http:
- 1. Obyčejný požadavek
- 2. Požadavek se pokusí pomocí vulneratility odeslat "škodlivý" cookie, který způsobí 2sekundové zpoždění v odpovědi na naš speciální http požadavek.
- 3. Požadavek se pokusí pomocí vulneratility odeslat "škodlivý" soubor cookie, který způsobí 4sekundové zpoždění v odpovědi na naš speciální http požadavek.
- 4. Stejně jako #3 .
Jak porozumět výsledku?
Srovnáváme dobu odezvy pro všechny 4 požadavky. Jsou možné tři situace:
- 1. Byla nalezena zranitelnost. Můžeme ji potvrdit, pokud je rozdíl v odezvách přibližně 2 sekundy pro požadavky bez souboru cookie a se souborem cookie se zpožděním 2 sekundy, stejně jako pro požadavky se soubory cookie se zpožděním 2 a 4 sekundy. Znamená to, že náš požadavek dokázal využít zranitelnost a nastavit tyto soubory cookie.
- 2. Zranitelnost nebyla nalezena. Všechny požadavky mají přibližně stejnou dobu odezvy. Soubory cookie pravděpodobně nebyly nainstalovány, protože neexistuje žádná zranitelnost.
- 3. Nejistá situace. Pokud se doba odezvy značně liší, aniž by se shodovala se zpožděním přednastaveným soubory cookie, nemůžeme to říci s jistotou. Mohlo by to být v případě, že je server vysoce zatížen. Pro ověření této skutečnosti použijeme dva požadavky se stejnými soubory cookie (#3 a #4). Pokud se doba odezvy u dvou stejných kontrol liší, učiníme závěr, že doba odezvy není ovlivněna soubory cookie. Alespoň ne pouze jimi. V tomto případě tedy naše metoda nemůže zranitelnost odhalit .
Bezpečnost kontrol
Náš test nemůže poškodit váš server. Riziko spočívá ve výskytu jednoho cookie navíc, který se používá pouze pro naše požadavky a nemůže ovlivnit běžný chod vašeho webu.
Tagy:
usecase
CEO a zakladatel společnosti HostTracker LTD. Je to vášnivý podnikatel se silným technickým zázemím v F#. Artem působí v oboru vývoje softwaru více než 20 let.