Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:mrezna_forenzika:ranjivosti_web_aplikacija [2020/01/10 00:06] kfugosic [Nesigurno upravljanje osljetljivim podacima (Sensitive Data Exposure)] |
racfor_wiki:mrezna_forenzika:ranjivosti_web_aplikacija [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 42: | Redak 42: | ||
- neotpornost na automatizirane napade (npr. credential stuffing)\\ | - neotpornost na automatizirane napade (npr. credential stuffing)\\ | ||
- slab ili nepostojeći oporavak lozinke\\ | - slab ili nepostojeći oporavak lozinke\\ | ||
- | - spremanje lozinke u čistom (eng. plain text) obliku ili slabim | + | - spremanje lozinke u čistom (eng. plain text) obliku ili slabim |
- nepostojeća višestruka autorizacija (eng. Multi-factor authentication) | - nepostojeća višestruka autorizacija (eng. Multi-factor authentication) | ||
Redak 55: | Redak 55: | ||
===== Nesigurno upravljanje osljetljivim podacima (Sensitive Data Exposure) ===== | ===== Nesigurno upravljanje osljetljivim podacima (Sensitive Data Exposure) ===== | ||
- | Ova ranjivost odnosi se na osjetljive podatke u prijenosu ili u pohranjenom obliku. Budući da HTTP protokol ne čuva stanje, podaci o sjednici ili korisniku moraju putovati u svakom zahtjevu što može predstavljati sigurnosni rizik. Razne web aplikacije raspolažu raznim osjetljivim podacima, poput lozinki, brojeva kreditnih kartica, zdravstvenim i osobnim podacima ili poslovnim tajnama. Regulativama poput GDPR-a (General Data Protection Regulation) pokušava se prisiliti sve one koji upravljaju osjetljivim podacima da paze na njihovu sigurnost. Za početak, veoma je bitno da osjetljivi podaci ne putuju u nešifriranom obliku protokolima kao što su HTTP, SMTP i FTP. Nadalje, bitno je kako ih pohranjujemo. Osjetljive podatke potrebno je šifrirati i pritom obratiti pozornost da koristimo siguran algoritam šifriranja. Uz to, moramo paziti koji podaci su dostupni kojim korisnicima i onemogućiti da korisnici jednostavnim trikovima, na primjer izmjenom URL adrese ili ubacivanjem malicioznog koda kroz prostore za unos teksta ili datoteka, ili nekim kompliciranijim metodama dođu do podataka koji nisu njima namijenjeni. Također, potrebno je i provjeravati valjanost certifikata korisnika. | + | Ova ranjivost odnosi se na osjetljive podatke u prijenosu ili u pohranjenom obliku. Budući da HTTP protokol ne čuva stanje, podaci o sjednici ili korisniku moraju putovati u svakom zahtjevu što može predstavljati sigurnosni rizik. |
+ | |||
+ | Razne web aplikacije raspolažu raznim osjetljivim podacima, poput lozinki, brojeva kreditnih kartica, zdravstvenim i osobnim podacima ili poslovnim tajnama. Regulativama poput GDPR-a (General Data Protection Regulation) pokušava se prisiliti sve one koji upravljaju osjetljivim podacima da paze na njihovu sigurnost. | ||
+ | |||
+ | Za početak, veoma je bitno da osjetljivi podaci ne putuju u nešifriranom obliku protokolima kao što su HTTP, SMTP i FTP. Nadalje, bitno je kako ih pohranjujemo. Osjetljive podatke potrebno je šifrirati i pritom obratiti pozornost da koristimo siguran algoritam šifriranja. Uz to, moramo paziti koji podaci su dostupni kojim korisnicima i onemogućiti da korisnici jednostavnim trikovima, na primjer izmjenom URL adrese ili ubacivanjem malicioznog koda kroz prostore za unos teksta ili datoteka, ili nekim kompliciranijim metodama dođu do podataka koji nisu njima namijenjeni. Također, potrebno je i provjeravati valjanost certifikata korisnika. | ||
Ako web aplikacija svoje podatke nije dobro osigurala, posljedice mogu biti katastrofalne, | Ako web aplikacija svoje podatke nije dobro osigurala, posljedice mogu biti katastrofalne, | ||
Redak 63: | Redak 67: | ||
Slika 3) Spam uzrokovan curenjem podataka | Slika 3) Spam uzrokovan curenjem podataka | ||
- | Preporučuje se da na različitim mjestima koriste različite lozinke, te da se sumnjive stranice izbjegavaju. Stranice poput http:// | + | Preporučuje se da na različitim mjestima koriste različite lozinke |
Od 2017. godine ova se ranjivost nalazi na trećem mjestu OWASP Top 10 ljestvice. | Od 2017. godine ova se ranjivost nalazi na trećem mjestu OWASP Top 10 ljestvice. | ||
Redak 70: | Redak 74: | ||
===== Vanjski XML entiteti (XXE) ===== | ===== Vanjski XML entiteti (XXE) ===== | ||
- | **XXE ** (XML External Entity), često nazivan i **XML umetanje** (eng. XML injection), je napad usmjeren na web aplikacije koje obrađuju XML tipove podataka.\ Napad je najlakše objasniti sljedećim primjerom gdje želimo dodati novi blog unos na nekoj web stranici: | + | **XXE ** (XML External Entity), često nazivan i **XML umetanje** (eng. XML injection), je napad usmjeren na web aplikacije koje obrađuju XML tipove podataka. Napad je najlakše objasniti sljedećim primjerom gdje želimo dodati novi blog unos na nekoj web stranici: |
< | < | ||
<?xml version=" | <?xml version=" | ||
Redak 97: | Redak 101: | ||
</ | </ | ||
- | Važno je obratiti pozornost na treću liniju u kojoj se definira vanjski entitet (eng. external entity), odnosno u kojoj se sadržaj datoteke /etc/passwd učitava u entitet xxe.\ Ovaj puta od stranice dobivamo odgovor: | + | Važno je obratiti pozornost na treću liniju u kojoj se definira vanjski entitet (eng. external entity), odnosno u kojoj se sadržaj datoteke /etc/passwd učitava u entitet xxe. Ovaj puta od stranice dobivamo odgovor: |
< | < | ||
Redak 159: | Redak 163: | ||
< | < | ||
" | " | ||
- | <a href=" | ||
<body onload=alert(document.cookie)> | <body onload=alert(document.cookie)> | ||
<b onmouseover=alert(document.cookie)> | <b onmouseover=alert(document.cookie)> | ||
Redak 195: | Redak 198: | ||
Ako korisnik na nju klikne, promjenit će svoj password u password123. Sada zamislimo da neka druga stranica nudi opciju slanja novca i kakve bi posljedice donesao ovakav propust u kojem napadač jednostavnim slanjem posebno složene poveznice može nekome ukrasti novac. | Ako korisnik na nju klikne, promjenit će svoj password u password123. Sada zamislimo da neka druga stranica nudi opciju slanja novca i kakve bi posljedice donesao ovakav propust u kojem napadač jednostavnim slanjem posebno složene poveznice može nekome ukrasti novac. | ||
- | Ova ranjivost od 2017. godine više ne spada u OWASP Top 10, a razni okviri poput Spring Security-a imaju uključenu zaštitu protiv istoga u inicijalnim postavkama. Zaštita se sastoji od **CSRF tokena** odnosno jedinstvene, | + | Ova ranjivost od 2017. godine više ne spada u OWASP Top 10, a razni okviri poput Spring Security-a imaju uključenu zaštitu protiv istoga u inicijalnim postavkama. Zaštita se sastoji od **CSRF tokena** odnosno jedinstvene, |
< | < | ||
<input type=" | <input type=" | ||
</ | </ | ||
- | Ovo je rješenje je dobro, no i dalje potencijalno ranjivo XSS napadom.\ OWASP “šalabahter” za prevenciju CSRF ranjivosti dostupan je na sljedećoj [[https:// | + | Ovo je rješenje je dobro, no i dalje potencijalno ranjivo XSS napadom. |
+ | |||
+ | OWASP “šalabahter” za prevenciju CSRF ranjivosti dostupan je na sljedećoj [[https:// | ||