Zápisky z přednášek
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.
•
Stránka bez vedomí uživatele vykoná akci na (cílovém) serveru, na který je uživatel legálně
přihlášen.
•
útočník použije stejný session token, k dostání se do nějaké aplikace jako uživatel
Řešení XSRF
•
Používat POST pro všechny akce.
•
Vyžadujte potvrzení akce, buď potvrzení dodatečným kliknutím nebo potvrzení heslem (u
důležitých akcí)
•
Anti-CSRF Token
SQL injection
•
SQL injection se podobá XSS.
•
Nekontrolovaný uživatelský vstup je použit při vytváření SQL dotazu.
•
Pomocí vloženého dodatečného SQL dotazu do vstupu
•
může útočník: smazat, vložit nebo měnit data, zapříčinit DoS
•
Příklad: http://example.com/db.php?id=0;DELETE%20FROM%20users
Řešení
•
mysqli_real_escape_string( )
•
PreparedStatements
Vzdálené spuštění kódu
•
Útočník spustí prostřednictvím napadené webové aplikace vlastní kód - načítaním vlastního
souboru (lokálního, nebo ze vzdáleného serveru) nebo spuštěním eval() na nekontrolovaném
vstupu
•
Hrozí převzetí kompletní kontroly nad napadenou aplikací
•
nebo celým serverem.
Řešení pro vzdálené spuštění kódu
•
Omezit povolených jmen souborů pro upload
•
Vkládat kód mohou jenom důvěryhodní uživatelé (ne stroje).
•
Nepoužívat funkci eval() s neošetřeným vstupem.
•
Nevkládat (include) nedůvěryhodné soubory
Problém Chybových Hlášení
•
Mohou prozradit důležité informace
•
Řešení: vypnout je a zapnout logování do souboru
Sůl
•
Přidání náhodného řetězce (salt) k heslu předcházíme jeho
•
prozrazení kvůli duplicitním heslům:
•
salt je uložen jako řetězec s heslem u uživatele,
•
heslo je uloženo se salt a zakódováno
Přednáška 11 – udržování stavu
aplikace
Obohacování odkazů
•
Veškeré odkazy z dokumentu budou obohaceny o identifikátor s daty sezení
•
Není to moc elegantní
•
Může to selhat
•
Pokud se děje automaticky, náročné na výkon
Cookies
•
Informace uložená u klienta
•
Posílá jí server
•
Jen ten, kdo ji poslal, ji může opět přečíst
•
jakákoliv informace – jazyk, preference vzhledu, co jsem koupil apod.