Zadejte hledaný výraz...

Token v URL

pr0gr4mm3r
verified
rating uzivatele
(4 hodnocení)
5. 7. 2010 20:00:59
Zdravil jsem vás už v předchozím threadu, ale i tak vás zdravím znovu.
Jak řešíte kombinaci hezké adresy (mod_rewrite) a bezpečnostních tokenů pro neformulářové prvky?
U formulářu je to hidden input.
Ale pro odkaz (např. na nějakou akci v ovládacím panelu uživatele) by se to v některých případech mělo zabezpečit.
Co na tokeny v url říkají vyhledávače? Je nějaký doporučený klíč, který oni ignorují (např. ?token=1a6sd4)?
Dík
5. 7. 2010 20:00:59
https://webtrh.cz/diskuse/token-v-url/#reply524135
Řešení je: všechny události, které vyžadují bezpečností token, dělat formulářem a data posílat POSTem. Tedy například mazání nedělat pomocí GETu (/comment/id/delete/?token=123), ale formulářem (form action="/comment/id/delete/" a token jako hidden prvek).
Navíc token většinou jen (?) u přihlášených uživatelů... což vyhledávač nikdy být nemůže (?), takže by na token v url ani neměl narazit. Teoreticky.
5. 7. 2010 20:18:35
https://webtrh.cz/diskuse/token-v-url/#reply524134
pr0gr4mm3r
verified
rating uzivatele
(4 hodnocení)
5. 7. 2010 21:33:32
To s těma přihlášenýma uživatelama je pravda.
Ale pokud mám třeba v CMS obrázkový odkaz pro smazání kategorie (řádkový výpis), tak tam ten token dám. Formulářem by se to těžko nahrazovalo.
To už ale polemizuji o blbostech. Prostě buď to musím řešit POSTem, nebo to do té adresy nacpat.
5. 7. 2010 21:33:32
https://webtrh.cz/diskuse/token-v-url/#reply524133
jedna z moznosti je vytvorit formular, do nej placnout submit a nastylovat ho jako odkaz - nejde to provest ale vzdy - napriklad kdyz to potrebujes uvnitr jineho formulare a nechces si "spinit" api jinou akci...
no a dalsi moznost je pak tyto odkazy proste nezobrazovat - bud je mit jenom v administraci a nebo je zobrazovat jenom pokud jsem prihlaseny :-)
EDIT: jeste neco - pokud nechces, aby ti to google indexoval, tak do meta tagu v html nastav robots = noindex, nofollow (http://www.jakpsatweb.cz/robots-txt.html)
6. 7. 2010 10:05:01
https://webtrh.cz/diskuse/token-v-url/#reply524132
pr0gr4mm3r
verified
rating uzivatele
(4 hodnocení)
6. 7. 2010 12:35:13
Napsal vedouci;533838
jedna z moznosti je vytvorit formular, do nej placnout submit a nastylovat ho jako odkaz - nejde to provest ale vzdy - napriklad kdyz to potrebujes uvnitr jineho formulare a nechces si "spinit" api jinou akci...
no a dalsi moznost je pak tyto odkazy proste nezobrazovat - bud je mit jenom v administraci a nebo je zobrazovat jenom pokud jsem prihlaseny :-)
EDIT: jeste neco - pokud nechces, aby ti to google indexoval, tak do meta tagu v html nastav robots = noindex, nofollow (http://www.jakpsatweb.cz/robots-txt.html)
Pokud mám řádkový výpis kategorií, tak je trochu prasárna udělat tam třeba 100 formulářů (za předpokladu jediného tlačítka; může jich tam být ale i víc).
Ony ty odkazy jsou v administraci a zobrazují se pouze přihlášeným. Pokud ale víš něco o CSRF, tak mi to nepomůže, a útočník mi může manipulovat s administrací díky tomu, že já jsem přohlášen.
Takže řešení bude v tomto případě kašlat na hezké URL, a prostě tam ten token nacpat.
Další dotaz - sice úplně nesouvisí:
Proč některé aplikace (všímám si toho třeba u phpBB fora) cpou do URL session_id (sid, a já nevím už jak to bývá pojmenované)? Vždyť se to dá dostat přes $_SESSION, ne?
6. 7. 2010 12:35:13
https://webtrh.cz/diskuse/token-v-url/#reply524131
zaprve - neber me za slovo, jenom jsem rekl, jak by to bylo spravne - a ruby on rails to tak napriklad resi - ja to tak taky nedelam, ale je to tak spravnejsi proste - akce, ktera nevratne neco modifikuje (a timpadem nefunguje tlacitko zpet), by proste mela byt posilana POSTem
zadruhe - CSRF:
1. provest se to da pomoci xss, tim, ze ti posle mail a kliknes na to a nebo pomoci click-jackingu - o tom si precti, pokud neznas, urcite te to "mile" prekvapi :-)
2. toto je dulezite - pokud je to v administraci, tak se na hezka url nehraje proste... normalne to posli getem, zadny stres
k tvemu druhemu dotazu - jednak proto, ze je to sracka a druhak protoze to funguje i pri vyplych cookies...
vseobecne je to spatny napad, protoze je mozno injectnout sid - utok pak vypada takhle:
posles kamaradovi odkaz ve tvaru domena/cesta/?sid=mojesid, on se prihlasi a ty pak svuj odkaz pouzijes znovu a ses prihlasenej jako on...
prakticky to tak nefunguje diky par dalsim ochranam jako referrer, kontrola ip adresy a useragenta - ale teoreticky to mozne je...
nadruhou stranu - injectnout session_id muze byt potrebne ve specifickych pripadech - jako je treba upload pomoci flashe - flash totiz neposila session_id cookie - alespon v mych pripadech nic lepsiho nepomohlo...
6. 7. 2010 14:06:15
https://webtrh.cz/diskuse/token-v-url/#reply524130
pr0gr4mm3r
verified
rating uzivatele
(4 hodnocení)
6. 7. 2010 14:14:18
Pokud session id nebudu cpat do url, tak se nic vážné ho snad nestane. Uživatel, který má vyplé cookies se prostě nebude moct přihlásit. Je to moc neobvyklé?
Co řeknou potom vyhledávače na duplicitní obsah (kvůli různému sid v adrese)?
6. 7. 2010 14:14:18
https://webtrh.cz/diskuse/token-v-url/#reply524129
napsal jsem, ze je to spatny napad, nedelej to, zadne sid v url :-)
ten zbytek bylo jenom tak mimochodem...
6. 7. 2010 14:59:10
https://webtrh.cz/diskuse/token-v-url/#reply524128
Pro odpověď se přihlašte.
Přihlásit