Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Zápisky z přednášek

PDF
Stáhnout kompletní materiál zdarma (854.2 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

každý uživatelský vstup musí být před použitím validován

ke vstupním hodnotám přistupujeme pomocí super globálních proměnných 

$_GET – data z požadavků GET.

$_POST – data z požadavků POST.

$_COOKIE – cookie data.

$_FILES – uploadované soubory.

$_SERVER – serverová data

$_ENV – proměnné prostředí

$_REQUEST – kombinace GET/POST/COOKIE

Druhy Útoků

Register Globals

Každý vstupní parametr je přístupný jako stejně pojmenovaná proměnná

Neznáme zdroj vstupu, neinicializované proměnné můžou být podstrčena uživatelem

$authorized není v skriptu inicializováno

• zaslaním GET požadavku http://example.com/script.php?authorized=1 získá útočník přístup 

k citlivým datům

Řešení pro register globals

Vypnout register_globals v php.ini.

Programovat s error_reporting nastaveným na E_ALL - umožňuje vidět neinicializované 
proměnné.

$_REQUEST

Nepoužívat, kombinace post, get a cookie, může dojít k záměně

$_SERVER

Také nepoužívat, některé parametry této proměnné závisí na vstupu od uživatele

Mohou být pozměněny

Validace vstupu

Kontrola čísel, do PHP vstupují jako řetězec

Kontrola řetězců

Kontrola cesty – řeší se pomocí metody basename()

Magic quotes 

PHP má zabudováno automatické ošetření speciálních znaků ve vstupu ( ‘, “, \, \0 (NULL)). 
Může být zakázáno na serveru, dost zpomaluje, potřeba dvojnásobné paměti

Cross Site Scripting – XSS

situace, kdy útočník vloží do stránky škodlivý HTML kód, který se pak zobrazí na stránce 
(např. ve fóru)

Řešení XSS

Prevence spočívá ve filtrování zobrazovaného uživatelského vstupu následovnými 
funkcemi:

htmlspecialchars()-Převede zvláštní znaky na HTML entity (‘, “, <, >, &)

htmlentities()- Převést všechny použitelné znaky na HTML entity.

strip_tags()- Odstraní z řetězce HTML a PHP tagy.

mysqli_real_escape_string()- Ošetření speciálně pro použití v MySQL.

XSRF útok

Cross Site Request Forgery

Uživatel (oběť) navštíví stránku útočníka.

Témata, do kterých materiál patří