Path Manipulation

Popis

Chyby Cesta manipulaci dojít, pokud jsou splněny tyto dvě podmínky:

  1. Útočník může určit cestu, kterou používají v provozu na souborovém systému.
  2. Zadáním zdroj, útočník získává schopnosti, které by jinak nebyly povoleny. Například, může program poskytnout útočníkovi možnost přepsání uvedený soubor nebo spustit s konfigurací ovládané útočníkem.

Povolení vstupu uživatele ke kontrole cest používaných v souborovém systému operací mohou umožnit útočníkovi získat přístup nebo změnit chráněné systémové prostředky.

Rizikové faktory

TBD

Příklady

Příklad 1

Následující kód používá vstup z HTTP požadavku vytvořit název souboru.Programátor se nepovažuje za možnost, že by útočník mohl zadejte název souboru, jako například ".. /.. / Tomcat / conf / server.xml", který způsobuje, že aplikace smazat jeden ze svých vlastních konfiguračních souborů.

	Řetězec rName = request.getParameter ("ReportName");
	Soubor RSOUBOR = new File ("/ usr / local / apfr / zprávy /" + rName);
	...
	rFile.delete ();

Příklad 2

Následující kód používá vstup z konfiguračního souboru k určení, který soubor otevřít a echo zpět k uživateli. Pokud je program spuštěn s oprávněními a uživateli se zlými úmysly může změnit konfigurační soubor, mohou použít program pro čtení libovolný soubor v systému, který končí příponou. Txt.

	fis = new FileInputStream (cfg.getProperty ("sub") + "txt.");
	amt = fis.read (arr);
	out.println (arr);