User Tools

Site Tools


csrf

This is an old revision of the document!


CSRF

CSRF (Cross site request forgery) je vrsta napada koja iskorištava ranjivost nastalu zbog ne razlikovanja autentičnih zahtjeva korisnika od krivotvorenih.

Najjednostavniji primjer jest sljedeći:

Zamislimo da se na adresi

www.example.com

nalazi bankarska aplikacija koja ima funkcionnalnost gdje se slanjem GET zahtjeva

www.example.com/transfer?amount=1000&to=receiver_username

šalje količinu novaca u parametru amount s računa korisnika koji je napravio taj zahtjev na račun korisnika s korisničkim računom receiver_username.

Napadač može prilagoditi parametre amount i to u URL-u i poslati takav link žrtvi. Klikom na link, žrtva bi poslala novce napadaču.

Napad bi potencijalno bio moguć i da funkcionalnost koristi POST zahtjev. Pretpostavimo da bankarska aplikacija koristi formu sljedećeg izgleda:

	<form action="/transfer" method="POST">
		<label for="amount">Amount: </label>
		<input type="text" name="amount" id="amount"/>
		<label for="to">To: </label>
	 	<input type="text" name="to" id="amount">
		<input type="submit"/>
	</form>

Zatim kreira svoju lažnu stranicu te na njoj postavi sljedeći obrazac:

	<form action="https://www.example.com/transfer" method="POST">
		<input type="hidden" name="amount" value="1000"/>
		<input type="hidden" name="to" value="attacker">
		<input type="submit" value="REGISTER">
	</form>

Kada bi žrtva posjetila nnapadačevu stranicu i pokušala se registrirati klikom na gumb REGISTER, poslala bi zahtjev POST prema www.example.com/transfer s parametrima amount i to postavljenim na “1000” i “attacker”.

No, slanje ovog zahtjeva je moguće automatizirati tako da ga žrtva pošalje samim posjetom stranice. Npr. dodavanjem funkcije submit u onload atribut u body elementu:

<body onload="document.forms[0].submit()">
	<form...>
	...
	</form>
</body>

Ako je žrtva u trenutku kada posjeti napadačevu stranicu prijavljena u bankarsku aplikaciju i ako je ta aplikacija ranjiva na CSRF napade, novac bi se sa žrtvinog računa prebacio na napadačev.

csrf.1701709279.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki