Ahoj,
udelal sem si jenom takovej rychlej web pro ukladani poznamek a jako autorizaci mam uplne super jednoduchou podminku:
if ($_REQUEST['var']=="neco") { action..... }
Jak se da tento kod injektovat?
Jak se da jeho injekci predejit?
Injekce znamená poslání určitého vstupu, který se použije při sestavování nějakého kódu, ale kvůli chybějící nebo vadné kontrole vstupu umožní změnit, co ten kód provádí. Typicky náchylné jsou
eval, SQL dotazy, pokud se spouštějí přes
*_query funkce, nebo spouštění externích příkazů (
system,
passthru, zpětné apostrofy ap.). Porovnání dvou hodnot je proti injekcím odolné, protože ani jednu část nijak neinterpretuje. Injekce ale rozhodně není jediný způsob, jak lze na web útočit, třeba špatně nastavený web lze přimět, aby vypsal zdrojový kód daného souboru nebo jeho části, hodnotu lze zachytit z nešifrovaného spojení nebo lze provést XSS nebo CSRF.