<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>https://wiki.knihovna.cz/index.php?action=history&amp;feed=atom&amp;title=CSRF</id>
	<title>CSRF - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.knihovna.cz/index.php?action=history&amp;feed=atom&amp;title=CSRF"/>
	<link rel="alternate" type="text/html" href="https://wiki.knihovna.cz/index.php?title=CSRF&amp;action=history"/>
	<updated>2026-05-15T22:49:00Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.knihovna.cz/index.php?title=CSRF&amp;diff=2950&amp;oldid=prev</id>
		<title>Michal Klajban: 21 revizí: IMPORT C: import stránek z hlavního jmenného prostoru z KiskWiki (http://kisk.phil.muni.cz/)</title>
		<link rel="alternate" type="text/html" href="https://wiki.knihovna.cz/index.php?title=CSRF&amp;diff=2950&amp;oldid=prev"/>
		<updated>2012-02-06T11:03:41Z</updated>

		<summary type="html">&lt;p&gt;21 revizí: IMPORT C: import stránek z hlavního jmenného prostoru z KiskWiki (http://kisk.phil.muni.cz/)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Autor:''' Jaroslav Kvasnica&lt;br /&gt;
&lt;br /&gt;
'''Klíčová slova:''' informační bezpečnost, webové útoky, hacker, hacking&lt;br /&gt;
&lt;br /&gt;
'''Synonyma:''' Session Riding, Confused Deputy, XSRF&lt;br /&gt;
&lt;br /&gt;
'''Související pojmy:'''&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''nadřazené'' - XSS, Clickjacking, HTTP, cookie, JavaScript, URL&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
	&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''podřazené'' - GET, POST, autorizační token, HTTP Referer&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Charakteristiky==&lt;br /&gt;
&lt;br /&gt;
'''Cross-site request forgery''' ('''CSRF''') je metoda webového útoku, která ''„spočívá v tom, že uživatele přimějeme navštívit stránku napadané aplikace, která provádí nějakou akci, aniž by o tom uživatel věděl“''.&amp;lt;ref name=&amp;quot;vrana&amp;quot;&amp;gt;VRÁNA, Jakub. PHP triky : Weblog o elegantním programování v PHP pro mírně pokročilé [online]. 24.4.2006 [cit. 2011-05-09]. Cross-Site Request Forgery. Dostupné z WWW: &amp;lt;http://php.vrana.cz/cross-site-request-forgery.php&amp;gt;.&amp;lt;/ref&amp;gt; Cílem útočníka je donutit uživatele provést bez jeho vědomí akci v nějaké webové službě. Podmínkou pro úspěšné provedení útoku je útočníkova znalost napadené aplikace a vstup uživatele na útočníkovu infikovanou stránku nebo kliknutí na infikovaný odkaz.&lt;br /&gt;
&lt;br /&gt;
''„CSRF útok vždy představuje zvláštní internetový odkaz, který se útočník snaží podstrčit své oběti (zpravidla nějakému návštěvníkovi webových stránek) a který mu v případě úspěchu umožní provést skrytou akci pod cizí identitou.“'' &amp;lt;ref&amp;gt;HOLČÁK, Radek. Autentizace uživatelů a krádež identity. Brno, 2009. 97 s. Diplomová práce. Masarykova univerzita, Fakulta informatiky. Vedoucí práce doc. RNDr. Václav Matyáš, M.Sc., Ph.D. Dostupné z WWW: &amp;lt;http://is.muni.cz/th/98688/fi_m/thesis.pdf?info&amp;gt;.&amp;lt;/ref&amp;gt; Infikovaný odkaz v sobě má zakódovaný správně formulovaný požadavek, který vykoná útočníkem zamýšlenou akci ve webové aplikaci. &lt;br /&gt;
&lt;br /&gt;
==Odesílání požadavku==&lt;br /&gt;
Odeslání požadavku do služby je možné dosáhnout dvěmi způsoby. Pomocí metody [[GET]] a [[POST]].&lt;br /&gt;
&lt;br /&gt;
Metoda [[GET]] představuje odeslání požadavku přímo v [[URL|URL]] proměnné. Může vypadat například takto:&amp;lt;ref name=&amp;quot;pejsa&amp;quot;&amp;gt;PEJŠA, Jan. Zdroják (zdrojak.root.cz) : tvorba webových stránek a aplik [online]. 24. 11. 2008 [cit. 2011-05-09]. Co je Cross-Site Request Forgery a jak se mu bránit. Dostupné z WWW: &amp;lt;http://zdrojak.root.cz/clanky/co-je-cross-site-request-forgery-a-jak-se-branit/&amp;gt;. ISSN 1803-5620.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;img src=&amp;quot;http://[[URL]]//poslat?komu=nejakyEmail@server&amp;amp;predmet=test&amp;amp;obsah=textemailu&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V tomto příkladě jde o infikovaný obrázek, resp. o cestu k umístění obrázku (reálně žádný obrázek neexistuje). V odkazu je ukrytý požadavek na odeslání falešného emailu. Z toho plyne, že jakmile uživatel přistoupí na stránku s tímto falešným obrázkem, tak se odešle bez jeho vědomí požadavek na webovou službu a ta odešle falešný email.&lt;br /&gt;
&lt;br /&gt;
Při metodě [[POST]] se požadavky odesílají skrytě mimo samotný odkaz. V tomto případě útočník využívá při tvorbě infikovaného odkazu [[JavaScript]]. Může se stát, že má uživatel vypnutý [[JavaScript]] ve svém prohlížeči – v takovém případě útok selže. Ale moderní prohlížeče mají JavaScript implicitně povolený.&lt;br /&gt;
&lt;br /&gt;
U některých požadavků webové aplikace vyžadují, aby byl uživatel přihlášený. S tím útočník počítá a využívá [[cookie|cookies]]. Počítá s tím, že uživatel je ke službě přihlášeny již z minulosti.&lt;br /&gt;
&lt;br /&gt;
==Obrana za strany serveru==&lt;br /&gt;
Proti CSRF je možné chránit se několika způsoby, které jsou víceméně účinné. Některé zdroje uvádějí obranu pomocí [[HTTP]] hlavičky Referer. Jedná se o hlavičku, která obsahuje URL předchozí stránky. Teoreticky bychom mohli zkontrolovat odkud požadavek pochází. ''„HTTP referer jde ale falšovat a dokonce se nemusí vůbec odesílat (nebo se může ztratit někde cestou – třeba v proxy).“''&amp;lt;ref name=&amp;quot;pejsa&amp;quot;/&amp;gt;&lt;br /&gt;
Účinnou obranou pro CSRF jsou tzv. autorizační tokeny nebo také podepsané formuláře. V principu se jedná o dočasnou proměnnou, která nabývá unikátní hodnoty a je přidělena konkrétnímu požadavku nebo formuláři. Server si dočasně hodnotu zapamatuje a pak porovnává tento token s tím, který je odesílán v požadavku do webové aplikace. &lt;br /&gt;
&lt;br /&gt;
==Obrana ze strany uživatele==&lt;br /&gt;
Pokud není samotný server zabezpečený, uživatel má také několik možností, jak se chránit. Hlavní zásadou je chovat se obezřetně. &lt;br /&gt;
*Odhlašovat se z aplikací po ukončení práce s nimi. &lt;br /&gt;
*Při práci např. s internetovým bankovnictvím neotvírat žádná další okna nebo záložky ve stejném prohlížeči. &amp;lt;ref name=&amp;quot;pejsa&amp;quot; /&amp;gt;&lt;br /&gt;
*Aplikace, u kterých si nejsme jisti bezpečností, otevírat v samotné instanci prohlížeče. &amp;lt;ref name=&amp;quot;vrana&amp;quot; /&amp;gt;&lt;br /&gt;
*Na internetové aplikace, které obsahují citlivá data, používat různé prohlížeče. &amp;lt;ref name=&amp;quot;OWASP&amp;quot;&amp;gt;PETERFISH, Paul; SHERIDAN, Eric; WICHERS, Dave. OWASP : The Open Web Application Security Project [online]. 12.10. 2009, 3.3. 2011 [cit. 2011-05-09]. Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet. Dostupné z WWW: &amp;lt;https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Nepovolit prohlížeč ukládat uživatelské jméno a heslo; nepovolit stránkám pamatovat si přihlašovací jméno. &amp;lt;ref name=&amp;quot;OWASP&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Použitá literatura==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Michal Klajban</name></author>
	</entry>
</feed>