Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][CURL]Logownaie wykryte jako atak
siurek22
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 2
Dołączył: 24.02.2008

Ostrzeżenie: (0%)
-----


Witam chce sie zalogowac na moje konto na erepublik.com w celu pobrania czesci informacji... Pewnie ktos powie ze jest od tego api ale ja chce pobrac wartosc pensji moich pracownikow a tego tam niema. Dobra to wyglada to tak uzywam ponizszego kodu i po jego uzyciu otrzymuje komunikat "CSRF attack detected.", chce sie tylko zalogowac token pobieram wiec dlaczego dostaje taki komunikat?

Kod
<?php
function token($content)
 {
     preg_match("@<input type=\"hidden\" id=\"_token\" name=\"_token\" value=\"(.*?)\" \/>@i", $content, $w);
     return $w[1];
 }
$hand = curl_init();

//pobieranie tokena
curl_setopt($hand, CURLOPT_URL, 'http://www.erepublik.com/en/login');
curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($hand, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1)");
$p=curl_exec($hand);
$token = token($p);

//logowanie
curl_setopt($hand, CURLOPT_URL, 'http://www.erepublik.com/en/login');
curl_setopt($hand, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($hand, CURLOPT_POST, 1);
curl_setopt($hand, CURLOPT_POSTFIELDS, "_token={$token}&citizen_name=login&citizen_password=haslo&commit=Login");
curl_setopt($hand, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1)");
$p=curl_exec($hand);
echo htmlspecialchars($p);
 
curl_close($hand);

?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
pgrzelka
post
Post #2





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


może za szybko wykonujesz czynności i skrypt to wykrywa i uznaje Cię za bota?
Go to the top of the page
+Quote Post
siurek22
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 2
Dołączył: 24.02.2008

Ostrzeżenie: (0%)
-----


dalem sleep(5) i nic niedalo, ten sam komunikat. jezeli komus sie niechce rejestrowac to podaje konto testowe login i haslo: atmeras

Ten post edytował siurek22 15.06.2009, 10:43:57
Go to the top of the page
+Quote Post
qwerty12
post
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 20.06.2009

Ostrzeżenie: (0%)
-----


Jako nagłówek Referer musisz przed próbą zalogowania ustawić http://www.erepublik.com/en - wtedy loguje się bez problemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-dwuklik-
post
Post #5





Goście







hm... odświerzam temat z przed 2 lat. również staram się zalodować z PHP. pewnie się wycwanili, bo pomimo ustawienia referrera, dalej wyłapują mnie jako atak. komuś udało się obejść?
Go to the top of the page
+Quote Post
by_ikar
post
Post #6





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Musisz wykonać 2 czynności. Wejść na stronę i pobrać token:

  1. <input type="hidden" value="a128a753d494e1bebf69bb3fa7e1d4e" name="_token" id="_token">


A następnie zalogować się, dodając dodatkowy parametr _token, z wcześniej pobraną zawartością. Z tym że przy każdym wejściu poprzez curl na stronę, nie musisz nawet trzymać tego samego ciasteczka, bo z tego co zauważyłem to token nie jest jakoś ustalany na podstawie sesji, a raczej na podstawie adresu IP, oraz user agenta przeglądarki, tak więc trzymaj wszędzie tego samego user agenta.

Ten post edytował by_ikar 2.01.2012, 15:11:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:52