POST заявка

maniak12

Registered
Как да изпратя правилна заявка за логин през формата за логин на Imperia Online?

HTML:
<form class="standart-form" target='_blank' action="http://www66.imperiaonline.org/imperia/game_v6/game/" method="post" id="loginForm">
        <fieldset id="fieldset-user" class="fieldset-input">
            <input id="login-user" placeholder="Потребителско име" name="uname" maxlength="15" autofocus="autofocus" tabindex="1" />
            <div id="login-user-error" class="error left">Въведете потребителско име</div>
            <div id="login-user-error2" class="error left x2">Грешна информация!</div>
        </fieldset>
        <fieldset id="fieldset-pass" class="fieldset-input">
            <input id="login-pass" placeholder="Парола" name="password" type="password" maxlength="20" tabindex="2" />
            <div id="login-pass-error" class="error left">Въведете парола</div>
        </fieldset>
        <fieldset id="login-button-wrapper">
            <input class="big-yellow-button ui-ib" type="submit" name="image-submit" value="Вход" />
        </fieldset>
        <input type="hidden" id="login-logs" name="logs" value="">
    </form>

Искам да сложа в сайта си директен логин за играта. :oops:
 
lam3r4370 каза:
Вероятно имат csrf token защита и няма как да стане

Преди малко пробвах с cURL и не се получи. Интересно, нали с него се симулира точно, все едно си влезнал през браузъра.

maniak12 каза:
lam3r4370 каза:
Вероятно имат csrf token защита и няма как да стане
Какво означава това?
Че няма как да направиш това което искаш.
 
Fakeheal каза:
dakata__92 каза:
Интересно, нали с него се симулира точно, все едно си влезнал през браузъра.

curl не симулира все едно си влезнал в браузър.

Добре, де поправка симулира заявките. Но то реално, няма как да се направи логър тук, което е интересно. Гледам, че ползват ajax със json, но пак немога да изпратя пост заявка към главната страница. Смисъл немога да се логна.
PHP:
$cr = new CurlResponse();
$url = "http://www66.imperiaonline.org/imperia/game_v6/game/";
$cr->setResponseArray(array(
	"postfields" => array (
		"uname" => "123456",
		"password" => "123456",
		"logs" => "",
		"image-submit" => true
	),
	"cookies" => true 
));
$cr->init();
print $cr->getCurlResponse($url);
$cr->close();
 
dakata__92 каза:
Fakeheal каза:
dakata__92 каза:
Интересно, нали с него се симулира точно, все едно си влезнал през браузъра.

curl не симулира все едно си влезнал в браузър.

Добре, де поправка симулира заявките. Но то реално, няма как да се направи логър тук, което е интересно. Гледам, че ползват ajax със json, но пак немога да изпратя пост заявка към главната страница. Смисъл немога да се логна.
PHP:
$cr = new CurlResponse();
$url = "http://www66.imperiaonline.org/imperia/game_v6/game/";
$cr->setResponseArray(array(
	"postfields" => array (
		"uname" => "123456",
		"password" => "123456",
		"logs" => "",
		"image-submit" => true
	),
	"cookies" => true 
));
$cr->init();
print $cr->getCurlResponse($url);
$cr->close();

Не симулира и заявките. :)

Най-вероятно, както каза lam3r4370, има защита от csrf.
 
Защо да няма как? Имам приятел, който е с бот за играта и ми казва, че се логва и прави разни работи. Аз просто искам да мога от моят сайт да въвеждам име и пас и да се логвам в играта.
 
Fakeheal каза:
dakata__92 каза:
Fakeheal каза:
curl не симулира все едно си влезнал в браузър.

Добре, де поправка симулира заявките. Но то реално, няма как да се направи логър тук, което е интересно. Гледам, че ползват ajax със json, но пак немога да изпратя пост заявка към главната страница. Смисъл немога да се логна.
PHP:
$cr = new CurlResponse();
$url = "http://www66.imperiaonline.org/imperia/game_v6/game/";
$cr->setResponseArray(array(
	"postfields" => array (
		"uname" => "123456",
		"password" => "123456",
		"logs" => "",
		"image-submit" => true
	),
	"cookies" => true 
));
$cr->init();
print $cr->getCurlResponse($url);
$cr->close();

Не симулира и заявките. :)

Най-вероятно, както каза lam3r4370, има защита от csrf.

E добре де, това означава, че немога да направя бот който да се логва ли? Стана ми интересна темата.
http://pastebin.com/Pa8YBre3
Това е кода за валидации. Погледнах през Live Headers и праща post към
http://www66.imperiaonline.org/imperia/game_v6/game/ajax_login.php?new_login_view=3
Интересна защита.
 
Fakeheal каза:
maniak12 каза:
lam3r4370 каза:
Вероятно имат csrf token защита и няма как да стане
Какво означава това?

https://en.wikipedia.org/wiki/Cross-site_request_forgery

В частност: https://en.wikipedia.org/wiki/Cross-site_request_forgery#Prevention

Немога ли този токен да го взема по някакъв начин и да вляза с него в играта?
 
maniak12 каза:
Fakeheal каза:
maniak12 каза:
Какво означава това?

https://en.wikipedia.org/wiki/Cross-site_request_forgery

В частност: https://en.wikipedia.org/wiki/Cross-site_request_forgery#Prevention

Немога ли този токен да го взема по някакъв начин и да вляза с него в играта?

Не виждам начин как ще стане това. В скритото поле logs няма стойност, а тя явно се генерира от jQuery и се праща на ajax за валидация и от там връща отговор и пренасочва страницата. Поне така го виждам аз. :D
 
dakata__92 каза:
E добре де, това означава, че немога да направя бот който да се логва ли?

O, не, можеш. Няма невъзможни неща. Просто ще отнеме много време.

Ако разбереш как генерират например token-a, може сам да си го генерираш и да bypass-неш token валидацията. Просто е труодемко и времеотнемащо. :D

Или да, това, което каза ламерчето.
 
Fakeheal каза:
dakata__92 каза:
E добре де, това означава, че немога да направя бот който да се логва ли?

O, не, можеш. Няма невъзможни неща. Просто ще отнеме много време.

Ако разбереш как генерират например token-a, може сам да си го генерираш и да bypass-неш token валидацията. Просто е трудемко и времеотнемащо. :D

Набързо прегледах кода, но невиждам как генерират logs. Сложно ми се струва, а тази структура я имаше и в една друга игра, как беше Хановете ли какво беше. Имах поръчка за логър, но не успях да се логна. Та затова ми е интересно. Можеш ли да ми разясниш малко повече на мен, а покрай моите въпроси и автора ще намаже с отговорите. :D :D :D :D
 
lam3r4370 каза:
Има начин, трябва ти headless browser - selenium като framework върху него можеш да ползваш phantomjs, casperjs

Това какво е и как се ползва?
dakata__92 ако се логнеш ще ми дадеш ли кода?
 
dakata__92 каза:
Fakeheal каза:
dakata__92 каза:
E добре де, това означава, че немога да направя бот който да се логва ли?

O, не, можеш. Няма невъзможни неща. Просто ще отнеме много време.

Ако разбереш как генерират например token-a, може сам да си го генерираш и да bypass-неш token валидацията. Просто е трудемко и времеотнемащо. :D

Набързо прегледах кода, но невиждам как генерират logs. Сложно ми се струва, а тази структура я имаше и в една друга игра, как беше Хановете ли какво беше. Имах поръчка за логър, но не успях да се логна. Та затова ми е интересно. Можеш ли да ми разясниш малко повече на мен, а покрай моите въпроси и автора ще намаже с отговорите. :D :D :D :D

Отвори dev console-ата и напиши "socks.dataSource" :) :D
 
Fakeheal каза:
dakata__92 каза:
Fakeheal каза:
O, не, можеш. Няма невъзможни неща. Просто ще отнеме много време.

Ако разбереш как генерират например token-a, може сам да си го генерираш и да bypass-неш token валидацията. Просто е трудемко и времеотнемащо. :D

Набързо прегледах кода, но невиждам как генерират logs. Сложно ми се струва, а тази структура я имаше и в една друга игра, как беше Хановете ли какво беше. Имах поръчка за логър, но не успях да се логна. Та затова ми е интересно. Можеш ли да ми разясниш малко повече на мен, а покрай моите въпроси и автора ще намаже с отговорите. :D :D :D :D

Отвори dev console-ата и напиши "socks.dataSource" :) :D

socks.dataString и гледам го но пак не откривам какво генерира за да се постави в logs и да се постне.
 
dakata__92 каза:
Fakeheal каза:
dakata__92 каза:
Набързо прегледах кода, но невиждам как генерират logs. Сложно ми се струва, а тази структура я имаше и в една друга игра, как беше Хановете ли какво беше. Имах поръчка за логър, но не успях да се логна. Та затова ми е интересно. Можеш ли да ми разясниш малко повече на мен, а покрай моите въпроси и автора ще намаже с отговорите. :D :D :D :D

Отвори dev console-ата и напиши "socks.dataSource" :) :D

socks.dataString и гледам го но пак не откривам какво генерира за да се постави в logs и да се постне.

Взима параметрите на браузъра и ос-то на тоя дето влиза. Нищо интересно :D
 
Fakeheal каза:
dakata__92 каза:
Fakeheal каза:
Отвори dev console-ата и напиши "socks.dataSource" :) :D

socks.dataString и гледам го но пак не откривам какво генерира за да се постави в logs и да се постне.

Взима параметрите на браузъра и ос-то на тоя дето влиза. Нищо интересно :D

Можеш ли да ми дадеш пример за легитимен стринг?
 

Back
Горе