it-swarm-eu.dev

URI žádosti o ozvěnu 404 stránek - bezpečnostní riziko?

Právě jsem si všiml, že výchozí stránka 404 na jednom z mých hostitelských účtů zobrazuje požadovaný identifikátor URI.

<!--#echo var="REQUEST_URI" -->

Slabo vzpomínám na slyšení nebo čtení, že se jedná o potenciální zranitelnost nějakého druhu. Je však těžké uvěřit, že poskytovatel hostingu by to zahrnul do své výchozí stránky 404, pokud by byla. Je to chyba zabezpečení nebo ne?

5
BenV

Ozvěny neúspěšného URI může umožnit útok XSS (záleží na vašem webu), protože URL by mohla být vytvořena tak, že se do vašeho webu vloží a spustí část JavaScriptu. Jako takový by tento injektovaný JavaScript měl přístup k souborům cookie uživatelů a pokud by byl přihlášen, mohl by být použit k získání jeho soukromých informací ve vašem systému.

Pokud je URI dezinfikován (například nesmí být zahrnut <nebo>), mělo by to být v pořádku.

Můžete to vyzkoušet pomocí následujícího identifikátoru URI:

/doesnotexist/"--><script language="javascript">alert("hello world")</script>

Může to vyžadovat nějaké vyladění, aby fungovalo (za předpokladu, že může může být do práce)

6
Kris

Je však těžké uvěřit, že poskytovatel hostingu by to zahrnul do své výchozí stránky 404, pokud by byla

Nebuď si tak jistý - byl jsem s velmi seriózním hostitelem (nebo tak jsem si myslel), který byl hacknut kvůli nepatřičné vulerability a hacker odstranil všechny jednotlivé stránky na hostiteli. Jejich odpověď - vrátit se k poslední záloze (72 hodin) a doufat, že si toho nikdo nevšimne.

To znamená, že v minulosti došlo k 404 útokům XSS, ale obvykle se týkají pouze jednoho softwaru, nikoli celého systému. Nevím, jak by zahrnutí URI ovlivnilo takový útok.

Jediná věc, na kterou mohu myslet, je, pokud byl váš webový host opravd špatný, a požádal jsem /gimma404.html?'); DELETE * FROM Users; -- a nějak byl RequestURI přihlášen do databáze a neunikl, pak byste mohli mít SQL Injekční útok.

1
Mark Henderson

Dokud je REQUEST_URI HTML kódované, není absolutně žádné riziko jeho zobrazení.

Infact, je obecně dobré, když stránka 404 přesměruje, aby zobrazovala adresu URL původního požadavku, aby uživatel mohl přesně vidět, co zadal. To jim pomáhá zjistit, zda udělali zjevné překlepy. To je důvod, proč to tolik výchozích 404 stránek zobrazuje - pomáhá uživateli.

1
Dan Diplo

Jakékoli informace, které nechcete, aby lidé viděli, představují bezpečnostní riziko, moje rada by byla, že nikdy nepoužiji výchozí 404, nejen že vypadají ošklivě a poskytují jen velmi malou funkčnost, ale mohou, jak se ptáte, způsobit bezpečnostní obavy.

Podívejte se na tento web - http://www.smashingmagazine.com/2007/08/17/404-error-pages-reloaded/ , kde najdete nápady, co byste mohli udělat se 404.

0
Toby