User Tools

Site Tools


xss_napadi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
xss_napadi [2023/11/24 12:22] zrinkaxss_napadi [2026/06/11 14:56] (current) – Uvod prepravljen mbunic
Line 1: Line 1:
 ====XSS napadi==== ====XSS napadi====
  
-**XSS (Cross-site scripting)** tip je napada uključenja u kojem napadač ubacuje malicioznu skriptu u web stranicu koju korisnici smatraju povjerljivomU najranijim verzijama napada fokus napadača bila je krađa podataka cross-site zahtjevimaodnosno zahtjevima koji idu preko višstranica. Od tada je evoluirao te obuhvaća uključenje bilo kakvog sadržaja u web stranicu.\\ +**XSS (Cross-site scripting)** je vrsta napada u kojem napadač ubacuje zlonamjerni sadržaj (payload) odgovor web aplikacije koji se poslužuje korisnicimaNapad se izvršava na klijentskoj strani, unutar preglednika žrtve. Payload je najčešće zlonamjeran JavaScript kôd, ali može sadržavati i HTML, CSS, SVG ili druge tehnologije koje omogućuju izvršavanje ili prikaz zlonamjernog sadržaja. Jedan od najčešćih ciljeva je krađa korisničkih kolačića ili sjednice (session tokena) te njihova eksfiltracija slanjem zahtjeva s ukradenim podatcima na drugu stranicu pod kontrolom napadača. Nakon toganapadač često možkoristiti ukradenu sjednicu te pristupiti stranici koristećžrtvin račun.\\ 
-Funkcionira na način da se korisniku neke web stranice u odgovoru na njegov zahtjev vraća maliciozan + 
-JavaScript kôd, najčešće u obliku klijentske skripteNakon njegova izvršenja napadač ima potpunu kontrolu +Ranjivost se najčešće temelji na neadekvatnim procedurama validacije, pročišćavanja ili enkodiranja unosa nad kojim korisnici imaju kontrolu prije njihovog prikaza preglednikuNapadač može zlonamjeran unos pohraniti na samom poslužitelju te ga tako učiniti perzistentnimU tom slučaju poslužitelj naknadno poslužuje odgovore koji sadrže zlonamjerni sadržaj korisnicima pri određenim zahtjevima. Također, napadač može zlonamjeran unos prenijeti putem URL parametara linka koji šalje žrtviTada se payload uključuje u odgovor aplikacije izvršava u pregledniku žrtve nakon što žrtva pristupi legitimnoj stranici preko linka poslanog od napadača. XSS je jedan od najčešćih web napada. 
-nad korisnikovim interakcijama na toj straniciOvo je vrlo raširen tip napada. Svaki dio web stranice u +
-kojemu se tražkorisnički unos potencijalno je ranjiv ako nema dobre procedure validacije i pročišćavanja unosa.+
  
 //Reflected XSS (Non-Persistent//) je tip napada u kojem se podatci koje je unio korisnik u HTTP zahtjev odmah vrate preko odgovora na taj isti zahtjev. Stranica vrati podatke bez da je ikako provjerila jesu li ti podatci sigurni za korištenje te je iz tog razloga ranjiva. Podatci se u pravilu nigdje ne pohranjuju, već ostaju u pregledniku tog korisnika te je zato drugi naziv Non-Persistent.  //Reflected XSS (Non-Persistent//) je tip napada u kojem se podatci koje je unio korisnik u HTTP zahtjev odmah vrate preko odgovora na taj isti zahtjev. Stranica vrati podatke bez da je ikako provjerila jesu li ti podatci sigurni za korištenje te je iz tog razloga ranjiva. Podatci se u pravilu nigdje ne pohranjuju, već ostaju u pregledniku tog korisnika te je zato drugi naziv Non-Persistent. 
Line 23: Line 22:
 Skripta je obično takva da napadač može pristupiti i mijenjati sve korisnikove podatke, izvoditi sve akcije na stranici koje su njemu dozvoljene te čak izvoditi napade u njegovo ime.  Skripta je obično takva da napadač može pristupiti i mijenjati sve korisnikove podatke, izvoditi sve akcije na stranici koje su njemu dozvoljene te čak izvoditi napade u njegovo ime. 
  
-//Stored XSS (Persistent, second-order XSS)// za razliku od prethodne vrste dohvaća nesigurne podatke sa+//Stored XSS (Persistent, second-order XSS)// za razliku od prethodne vrste dohvaća nesigurne podatke s
 nekog poslužitelja. Ni u ovom se slučaju ne provodi nikakva provjera jesu li ti podatci sigurni za  nekog poslužitelja. Ni u ovom se slučaju ne provodi nikakva provjera jesu li ti podatci sigurni za 
 korištenje. Unos podataka može opet ići preko korisničkog unosa, no razlika je u tome što se ti  korištenje. Unos podataka može opet ići preko korisničkog unosa, no razlika je u tome što se ti 
-ranjivi podatci pohrane i mogu doći do drugih korisnika. Dobar primjer je stranica sa člancima koja+ranjivi podatci pohrane i mogu doći do drugih korisnika. Dobar primjer je stranica člancima koja
  omogućuje komentare. Recimo da je napadač unio skriptu kao komentar na određeni članak. Ta skripta   omogućuje komentare. Recimo da je napadač unio skriptu kao komentar na određeni članak. Ta skripta 
 izvršit će se svakom korisniku koji poželi dohvatiti njegov komentar, odnosno svakom korisniku koji otvori  izvršit će se svakom korisniku koji poželi dohvatiti njegov komentar, odnosno svakom korisniku koji otvori 
 taj članak.  taj članak. 
  
-Zadnji je //DOM-based// napad koji se odvija kad JavaScript kôd web stranice uzima podatke sa izvora koji+Zadnji je //DOM-based// napad koji se odvija kad JavaScript kôd web stranice uzima podatke izvora koji
  kontrolira napadač, primjerice URL, i ubacuje ga u  DOM (//Document Object Model//) stranice. Primjerice, ako napadač dobije pristup pisanja u DOM i unese naredbu:   kontrolira napadač, primjerice URL, i ubacuje ga u  DOM (//Document Object Model//) stranice. Primjerice, ako napadač dobije pristup pisanja u DOM i unese naredbu: 
 <code>document.write('... <script>alert(document.domain)</script> ...'); <code>document.write('... <script>alert(document.domain)</script> ...');
Line 53: Line 52:
 <div> $varUnsafe </div> <div> $varUnsafe </div>
 </code> </code>
-jer napadač može unijeti skritpu kao varijablu, primjerice:+jer napadač može unijeti skriptu kao varijablu, primjerice:
 <code> <code>
 <script>alert`1`</script> <script>alert`1`</script>
Line 84: Line 83:
 kako  bi im lakše mogao pristupiti. Mario je nastavio koristiti svoju stranicu, i zaista se uvjerio da  kako  bi im lakše mogao pristupiti. Mario je nastavio koristiti svoju stranicu, i zaista se uvjerio da 
 nije time  napravio nikakav propust. nije time  napravio nikakav propust.
-Ukoliko i ti želiš koristiti stranicu, sve što moraš napraviti je registrirati se i ulogirati. Tada ćeš+Ako i ti želiš koristiti stranicu, sve što moraš napraviti je registrirati se i ulogirati. Tada ćeš
 moći pretraživati i slati korisne linkove svojim prijateljima i adminu, koji je naravno Mario. moći pretraživati i slati korisne linkove svojim prijateljima i adminu, koji je naravno Mario.
  
Line 132: Line 131:
  
 Flag je URL-encoded, ali jedino što treba promijeniti su uglate zagrade:\\ Flag je URL-encoded, ali jedino što treba promijeniti su uglate zagrade:\\
-%5B [ \\ +^ Kod ^ Značenje znaka ^ 
-%5D ] \\+|%5B  || 
 +|%5D  |
  
-Izvori \\+===Izvori===
 [1]https://owasp.org/www-community/attacks/xss/ \\ [1]https://owasp.org/www-community/attacks/xss/ \\
 [2]https://owasp.org/www-community/Types_of_Cross-Site_Scripting\\ [2]https://owasp.org/www-community/Types_of_Cross-Site_Scripting\\
xss_napadi.1700828571.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki