Cytat
Session riding
(inne nazwy to: cross-site request forgery ? CSRF, one click attack, session hijacking)
Celem ataku session riding jest wykonanie złośliwego kodu z uprawnieniami zalogowanego użytkownika. Może to doprowadzić do kradzieży danych użytkownika, zamówienie przez niego jakiegoś produktu (w przypadku sklepu), lub w przypadku wykonania kodu przez administratora ?dostęp? do panelu administratora.
Zabezpieczenie przed CSRF może wydawać się trudne lecz istnieje kilka sposobów by tego dokonać. Dwa najciekawsze opierają się na tokenach, czyli losowo wygenerowanych ciągach znaków.
Zasada działania pierwszego sposobu opiera się na umieszczeniu dodatkowe pola w każdym znaczącym formularzu. W polu tym będzie znajdował się wygenerowany token, który po wysłaniu formularza będzie sprawdzany z tokenem zapisanym np. w sesji.
Drugi sposób jest ?bardziej skomplikowany?, a wraz z tym lepszy. Polega on na stworzeniu ?tablicy routingu?. Mianowicie chodzi o tabelkę w bazie danych która będzie zawierała w sobie zestawienie tokenów oraz prawdziwych adresów. Token powinien być generowany inny dla każdego użytkownika. Dzięki temu napastnik nie będzie w stanie wywołać akcji z uprawnieniami zalogowanego użytkownika.
http://www.sklep.pl/?producent=jakis&p...y&akcja=kup
http://www.sklep.pl/?token=djJa76ashHSB
Opis: Zmiana wyglądów adresów po użyciu ?tablicy routingu?
(inne nazwy to: cross-site request forgery ? CSRF, one click attack, session hijacking)
Celem ataku session riding jest wykonanie złośliwego kodu z uprawnieniami zalogowanego użytkownika. Może to doprowadzić do kradzieży danych użytkownika, zamówienie przez niego jakiegoś produktu (w przypadku sklepu), lub w przypadku wykonania kodu przez administratora ?dostęp? do panelu administratora.
Zabezpieczenie przed CSRF może wydawać się trudne lecz istnieje kilka sposobów by tego dokonać. Dwa najciekawsze opierają się na tokenach, czyli losowo wygenerowanych ciągach znaków.
Zasada działania pierwszego sposobu opiera się na umieszczeniu dodatkowe pola w każdym znaczącym formularzu. W polu tym będzie znajdował się wygenerowany token, który po wysłaniu formularza będzie sprawdzany z tokenem zapisanym np. w sesji.
Drugi sposób jest ?bardziej skomplikowany?, a wraz z tym lepszy. Polega on na stworzeniu ?tablicy routingu?. Mianowicie chodzi o tabelkę w bazie danych która będzie zawierała w sobie zestawienie tokenów oraz prawdziwych adresów. Token powinien być generowany inny dla każdego użytkownika. Dzięki temu napastnik nie będzie w stanie wywołać akcji z uprawnieniami zalogowanego użytkownika.
http://www.sklep.pl/?producent=jakis&p...y&akcja=kup
http://www.sklep.pl/?token=djJa76ashHSB
Opis: Zmiana wyglądów adresów po użyciu ?tablicy routingu?
źródło: www.beldzio.com/bezpieczenstwo-mechanizmu-sesji
Czy można jakoś inaczej rozwiązać sprawę tokenów, nie chcę korzystać z captcha.
Głównie chodzi o usuwanie zawartości strony, ale w sumie można by to zastosować chyba wszędzie.