Spletna varnost Flashcards
<h1>Zakaj se je število napadov kljub novim spletnim tehnologijam povečalo?</h1>
Vedno <b>več razvijalcev</b> spletnih rešitev.
Spletno programiranje <b>osvojimo dokaj hitiro</b> a se ne poglobimo v varnost.
Vse se prenaša na web <b>(IOT, Internet of Things)</b>
<h1>Injekcija kode</h1>
Napad na strežniške spletne aplikacije, ki uporabljajo <b>interpretirane programske jezike</b>
Izkorišča nenamerno <b>evaluacijo in zagon zlonamernih ukazov s strani vhoda od uporabnika</b>
Reče se tudi <b> RCE - remote code execution</b>
Najbolj resna ranljivost, saj je možno zaganjat <b>sistemske ukaze</b> (CMD/BASH) in terminal
<h1>Preventiva pred injekcijo kode?</h1>
<h1></h1>
– Izklop danih ukazov/funkcionalnosti v konfiguraciji php.ini
– Nikakor ne uporabljamo uporabniška vhoda v klicih danih funkcij. Sanitiziranje vhoda.
<h1>Uhajanje informacij</h1>
Ranljivost na strežniški strani, ki omogoča uhajanje informacij preko branja datotek.
Napad možen preko ukazov:
<b>include()<br></br>
include_once()<br></br>
require()<br></br>
require_once()<br></br></b>
Ranljivi so, če v njih prenesemo uporabniški vhod <b>(HTTP zahtevki, piškotki, HTTP parametri glave itd)</b>
<h1>XSS - Cross-Site Scripting</h1>
Gre za napad, ki je običajno vezan na <b>odjemalčevo stran</b>, kjer se zlonamerna koda zažene.
V GET zahtevek <b> dodamo npr. vsebino</b><br></br><u>Posledice:</u><br></br><b>Uhajanje informacij,
Akcije na spletni strani od uporabnika
keylogging, kriptorudarji, DDOS</b>
<h1>Stored XSS</h1>
Pri tem napadu se uporabniški vnos hrani v podatkovno bazo. Ob odprtju spletne strani se zažene zlonamerna JS koda.
<h1>Zrcalni XSS</h1>
<b>Reflected XSS</b> - uporabniški vnos se pošlje na strežnik pri čemer se rezultat takoj vrne.
<h1>DOM based XSS</h1>
Pride do modifikacije DOM v brskalniku uporabnika, pri čemer se sama spletna stran pridobljena s strežnika ne spremeni.
<h1>CSRF</h1>
<b>Cross-Site Request Forgery</b> - napadalec pošlje link do spletne strani z zlonamerno JS kodo, za namen zaganjanja akcij na drugi spletni strani, kjer je uporabnik avtenticiran
<h1>Zaščita pred CSRF</h1>
Na strežniški strani preverjamo HTTP glavo.
Uporabimo <b>žetone (tokens)</b>, ki jih dodamo vsakemu zahtevku.
CSRF token sync, kjer je žeton naključno število, oz. pridobljen s kriptografsko zgoščevalno funkcijo.
Nastavimo lahko tudi nastavitve <b>CSP (content security policy)</b>, kjer povemo brskalniku iz katerih domen lahko dostopa do virov.
<h1>Uhajanje informacij preko CSS</h1>
Novejši <b>eksperimentalni napad</b>, kjer napadalec omogoča uhajanje info preko <b>CSS () namesto JS</b>
<h1>TLS izzivi</h1>
Možna prestrežba rokovanja z man-in-the-middle napadi
Tudi ranljivost v kriptografskih algoritmih
TLS zagotavlja varnost samo za eno povezavo TCP
Ponarejeno potrdilo korenskega strežnika (npr. CA) lahko ogrozi vsa potrdila.