Path Manipulation
Chyby Cesta manipulaci dojít, pokud jsou splněny tyto dvě podmínky:
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.
TBD
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 ();
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);