![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję napisać skrypt, który będzie się logować do określonej strony.
Strona to: http://www.erepublik.com/en/login (IMG:style_emoticons/default/smile.gif) Kiedyś napisałem coś takiego w VB, jednak administracja pokombinowała i skrypt nie działa. W VB brakło mi pomysłów, więc może ktoś w PHP coś pomoże. Sprawa wygląda tak - wchodząc pierwszy raz na stronę pobierane jest ciastko "erpk". Ciastko to musi zostać wysłane przy logowaniu, a także takie dane jak token (ukryte w formularzu) i oczywiście login i hasło. Poniżej mój kod:
Odpalając go (oczywiście po podstawieniu poprawnego loginu i hasła) otrzymuję komunikat: "CSRF attack detected". Doszedłem mniej więcej dlaczego tak się może dziać. Otóż wchodzimy pierwszy raz na stronę do logowania, następnie usuwam ciastko "erpk" i próbuję się zalogować - wtedy też dostaję taki komunikat. Wniosek? Ciastka nie są przekazywane w drugim wywołaniu. Ale dlaczego? Będzie ktoś mi tutaj w stanie pomóc? Ten post edytował Grzesiek23 25.12.2009, 15:22:13 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 27.02.2008 Skąd: Brzozów Ostrzeżenie: (0%) ![]() ![]() |
Mi się wydaje, ze to nie wina ciasteczek tylko tokena. Po coś on tam w końcu jest, prawda? Jak wejdziesz na stronę i go zmienisz, a później spróbujesz się zalogować, to też wywali komunikat CSRF
Spróbuj z pierwszej zmiennej $result pobrać tokena przy pomocy jakiegoś wyrażenia regularnego. Wstaw go później do wysyłanych danych (z tego co widzę to masz wstawioną stałą wartość) i powinno działać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 04:36 |