Vypis souboru

7 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Napsal jsem si php soubor díky němuž budu moci vypisovat php soubor z urcite slozky, jenze soubor funguje ale vypisuje mi chybu: Warning: include(.php) [function.include]: failed to open stream: No such file or directory in .../print.php on line 4 Warning: include() [function.include]: Failed opening '.php' for inclusion (include_path='.../php/:.') in .../print.php on line 4 Zajimalo by mě: 1, dá se nějak tato chyba odstranit? 2, není napadnutelná přes php injection? print.php: <?php $link = $_GET["file"]; if ($link == "$file") {include "$file.php";} ?> Děkuji
  2. <HTML>Tytyty, nenene! 1) Proměnná $file je asi prázdná (navíc jaká je tady pointa v porovnávání $file a $_GET['file']? s register_globals bude podmínka vždy splněna, bez něj nebude splněna téměř nikdy). Pro kontrolu, zda byla proměnná předána GETem, se hodí isset. A nelíbí se mi "$file". Je to prasárna, $file je mnohem jednodušší vyjádření téhož. 2) Ano je. Může se stát několik věcí: a) Útočník dá komplikovanější název s lomítky a nakrokuje si do nějakého adresáře atd. b) Útočník může tvůj skript snadno zacyklit. c) Útočník může dosadit vzdálený soubor, typicky nějakého správce souborů, a hrabat se ti v souborech na tvém serveru. Tohle je naštěstí ošetřené tím, že je standardně vypnuté allow_url_fopen, ale pokud si to zapneš, tak tě nic nezachrání. d) Je-li soubor nějakým způsobem zapisovatelný návštěvníkem (typicky naprosto špatně napsaná návštěvní kniha), může snadno dojít k c) tím, že si do toho souboru útočník zapíše příslušný škodlivý skript. a/b/c řeší úprava kódu na switch, kdy pevně stanovíš povolené možnosti d řeší ošetření vstupu, file_get_contents... atd (samozřejmě, pokud básník opravdu nezamýšlel ten soubor zpracovat PHPkem)</HTML>
  3. Děkuji... a jde to nějak vyřešit nebo mám začít vymýšlet neco jiného?
  4. <HTML>No, když si nestanovíš, čeho vlastně chceš docílit, tak nelze rozumně poradit.</HTML>
  5. Chtěl bych vypisovat soubory ze složky php do indexu zadáním adresy např. index.php?file=soubor . Na internetu jsem našel návody, ale nebyli dynamické, takže jsem musel předem určit jaké budu chtít vypsat soubory.
  6. http://polopate.jakpsatweb.cz/index.php?page=include http://polopate.jakpsatweb.cz/index.php?page=include2 http://polopate.jakpsatweb.cz/index.php?page=include3
  7. Snad se v tom nejak vyznam :) dekuji

← Zpět na všechna témata