przeczytałem właśnie PDFa z php.net:
http://www.acros.si/papers/session_fixation.pdfJest tak dokładnie wytłumaczone jak działają Ataki Session Fixation, Session Hijacking
Tutaj dowiedziałem się o kilku innych sposobach.
Kurcze nie wiedziałem że jest tyle sposobów....
No więc tak po tych lekturach (i kilku innych) wiem że:
- nie należy umieszczać ID sesji w linku
- nie należy umieszczać ID sesji w cookie
- należy unikać serwerów współdzielonych
- nie należy klikać w linki od obcych z powodu parametru Referral, który może wyciągnąć info o Sesjach
Co należy robić:
- stosować nowatorskie metody hashowania takie na które nie ma słowników (do sha1 i i md5 już są)
- należy unikać przekazywania danych odnośnie usera w zmiennych sesyjnych
- dokładnie filtrować dane od usera tzn sprawdzać czy pola które mają być int są faktycznie int. Teksty traktować strip_tagiem i innymi funkcjami tego pokroju
- zabezpieczać newralgiczne zapytania SQL przez dodanie np mysql_real_escape_strings
Dobra a teraz kilka pytań:
skoro używam (na razie) tylko session_start() i session_destroy() to czy istnieje możliwość zaatakowania tej sesji? Nie można chyba np dodać do linku SID z numerem sesji i automatycznie ją przejąć (jeśli Id faktycznie istnieje)?
Czy można zmusić sesje do tego by nie przyjmowały ID sesji z zewnątrz? tzn linki, cookie i formy?
Czy da się zabezpieczyć jakoś wyciekanie danych poprzez użycie przez atakującego opcji Referral z spreparowanego linku?
Co do blokowania usera jeśli zaloguje się źle X razy to można dodać pole IP do tej tabeli wtedy blokuje tylko IP typa który ma konkretne IP.
Mam nadzieje że ktoś mi poradzi

Pozdrawiam