Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как заставить LWP brouser проходить аутефикацию ? Пытаюсь сделать credential, no good :( 
:(
    Опции темы
stan777
Дата 28.2.2007, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



далаю 

Код

my $ua = LWP::UserAgent->new(agent=>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',timeout=>'20',keep_alive =>'7');
my $url = URI::URL->new('http://host.ru/dir/');
my $hdrs=HTTP::Headers->new('Accept'=>'text/plain','UserAgent'=>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)');
my $h->authorization_basic('login','pass');
my $reqG=HTTP::Request->new('GET',$url,$hdrs, $h);

my $resp = $ua->request($reqG);

if($resp->is_success){
print ($resp->content)."\n";
}else{print "fuck\n"; }


короче не могу понять как отправить запрос, короче замучался есть у кого-нидь рабочии примеры, или как сделать аутефикацию  smile  ? 

Это сообщение отредактировал(а) stan777 - 28.2.2007, 20:39
PM MAIL   Вверх
nitr
Дата 28.2.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



stan777, аутентификацию чего?


--------------------
PM   Вверх
stan777
Дата 28.2.2007, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Цитата(nitr @ 28.2.2007,  21:39)
stan777, аутентификацию чего?

есть вход на сайт, с пользователем и паролем, форма вводим имя и пароль, и потом получаем доступ до папок без пароля к которым апач не пускает. Может кто-нибудь знает как LWP браузер научить таким фокусам как вход на сайт.

да вроде как нашел на СРАНе Доступ к защищенным документам.
Код

 use LWP::UserAgent;
  $ua = LWP::UserAgent->new;
  $req = HTTP::Request->new(GET => 'http://www.helsinki.fi/secret/');
  $req->authorization_basic('aas', 'mypassword');
  print $ua->request($req)->as_string;
Но не знаю это уже завтра опробую. smile 

Это сообщение отредактировал(а) stan777 - 28.2.2007, 21:59
PM MAIL   Вверх
tishaishii
Дата 28.2.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



Кто-то знает.
Только, тебе не светит, т.к. читать тебе надо man про TCP\IP, в частности, про HTTP.
Сломать можно, разве что, брутфорсом.

Это сообщение отредактировал(а) tishaishii - 28.2.2007, 22:00
PM MAIL ICQ Skype   Вверх
stan777
Дата 28.2.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Цитата(tishaishii @ 28.2.2007,  21:59)
Кто-то знает.
Только, тебе не светит, т.к. читать тебе надо man про TCP\IP, в частности, про HTTP.

Зачем мне TCP/ip я и tcpdump'ом пакеты просматриваю.
Я разве сказал слово брутфорс?  smile Мне это нужно чтобы с чтобы через веб доступ читать допустим почту, или заходить на сайт, На счет брутфорса могу преложить hydra-4.4 или какая там последняя версия, лучше на LWP не напишешь.   

Это сообщение отредактировал(а) stan777 - 28.2.2007, 22:09
PM MAIL   Вверх
tishaishii
Дата 28.2.2007, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



За тем, что твой tcpdump без TCP\IP бессмыслен.
PM MAIL ICQ Skype   Вверх
nitr
Дата 28.2.2007, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



stan777, укажи адрес


--------------------
PM   Вверх
stan777
Дата 28.2.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Добавлено @ 22:42 
Цитата(nitr @ 28.2.2007,  22:23)
stan777, укажи адрес

вот http://www.rambler.ru/
скажем после ввода имени и пароля я могу ходить по внутреним директориям, типа http://mail.rambler.ru/mail/contacts.cgi?r=8520
Вроде не куки аутефикация, так как я удаляю все куки из времынной папки, а доступ продолжается, хотя в полях запросов, поле куки присутствует.  Это что-то типа AuthCookie аутификации.

Это сообщение отредактировал(а) stan777 - 28.2.2007, 22:52
PM MAIL   Вверх
nitr
Дата 28.2.2007, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



используй куки и LWP и всё получится smile
ты многих запутал, но там обычная авторизация!


--------------------
PM   Вверх
stan777
Дата 28.2.2007, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Цитата(nitr @ 28.2.2007,  22:51)
используй куки и LWP и всё получится smile
ты многих запутал, но там обычная авторизация!

Спасибо smile , Ок наберусь сил, и завтра попробую smile 
PM MAIL   Вверх
nitr
Дата 1.3.2007, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Код

<form method="post" action="auth.cgi?mode=login" name="auth_form">
<input type="hidden" name="back" value="http://mail.rambler.ru/">
<input type="hidden" name="url" value="7">
<input type="hidden" name="icqscreen" value="">

<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr valign="top">
<td class="txt" align="left" width="22%">Ваше имя на Рамблере (логин):</td>
<td width="230"><table cellpadding="0" cellspacing="0" border="0" width="230" ><tr><td width="100%"><input type="text" name="login" value="" size="10" tabindex="1" style="width: 100%;"></td><td valign="top">&nbsp;<span class="txt">@rambler.ru</span></td></tr></table></td>
<td rowspan="3" width="5%"></td>
<td rowspan="2" align="left">
<div class="ttl_small">Нет имени?</div>
<div class="txt"><a href="/script/newuser.cgi">Выберите имя</a> прямо сейчас!</div>

</td>
</tr>

<tr valign="top">
<td class="txt">Пароль:</span></td>
<td><input type="password" name="passw" value="" size="20" tabindex="1" style="width: 100%;">
<div class="comm" align="right"><a href="reminder.cgi">Забыли пароль?</a></span></td>
</tr>






<tr valign="top">
<td></td>
<td align="left"><input type="submit" value="  Войти  " tabindex="5"></td></tr>
</tr>

</table>
</form>

А вот как заполнять... Ну и конечно под себя сделай smile + куки, имхо там сессии
Код

my $ua = LWP::UserAgent->new;
my $response = $ua->post('http://id.rambler.ru/script/auth.cgi?mode=login', [
        'back' => 'http://mail.rambler.ru/',
        'url' => '7',
        'icqscreen' => 'value',
        'login' => 'value',
        'passw' => 'value',
    ]);


Это сообщение отредактировал(а) nitr - 1.3.2007, 00:31


--------------------
PM   Вверх
stan777
Дата 1.3.2007, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Да спасибо аутефикацию прохожу.  я так сделал работает, теперь появилась новая проблема, как в следующие пакеты куки включать чтобы гурять по realm'y.  
вот ответ после авторизации 

Я вот как сделал 

Код

my $ua = LWP::UserAgent->new;
my $cookie_c = HTTP::Cookies ->new(file => 'lwp_cookies.dat',autosave => 1,);
$ua ->cookie_jar($cookie_c); 
my ($url,$response);


my $login='name';
my $pass = 'password';
my $domen ='директория внутри рилма';
 

$url = 'http://mail.rambler.ru/script/auth.cgi'; # путь до скрипта авторизации

$response=$ua->request(POST $url, 
        {back => $domen, 
    login => $login,
         passw => $pass,
        }); 

open LOG , ">gothim.htm";
print LOG $response->as_string; 
close(LOG);


Видимо ответе Set-Cookie: это то что я должен запиать в файл куки, и переадресокать браузер на Location: http://id.rambler.ru/script/auth.cgi?mode=....ru%2Fwizard%2F
этими установленными куками.
Что просто вписать эти куки в файл lwp_cookies.dat ? или есть приемы заставить LWP браузер сохранять их ?
Как я понял у меня должен создаться куки lwp_cookies.dat со значаниями Set-Cookie, но этих значений там нет, странно  
Странно но это помогает ignore_discard=>1

Это сообщение отредактировал(а) stan777 - 19.3.2007, 00:41
PM MAIL   Вверх
stan777
Дата 1.3.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Всем привет вот рабочий код  Почти готовый саб  smile 

Код

#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
use LWP;

my $ua = LWP::UserAgent->new;

my $cookie_jar = HTTP::Cookies ->new(file => 'cookies.txt',autosave => 1, 
ignore_discard=>1 #важно !!!
, );

$ua ->cookie_jar($cookie_jar); 

my ($url,$response);


my $login='логин';
my $pass = 'пароль';
my $domen ='рилм-королевство';
 

$url = 'http://id.rambler.ru/script/auth.cgi'; # путь до скрипта авторизации

$response=$ua->request(POST $url, 
        {back => $domen, 
    login => $login,
         passw => $pass,
        }); 

open LOG , ">gothim.txt";
print LOG $response->as_string; 
close(LOG);

$cookie_jar->extract_cookies($response);

$cookie_jar->save('cookies.txt');

my $hdrs=HTTP::Headers->new('Accept'=>'text/plain','UserAgent'=>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)');
my $reqG=HTTP::Request->new('GET',$domen,$hdrs);

$cookie_jar->add_cookie_header($reqG);

$response=$ua->request($reqG);

open LOG , ">wegothim_two.htm";
print LOG $response->as_string; 
close(LOG);


Это сообщение отредактировал(а) stan777 - 1.3.2007, 17:43
PM MAIL   Вверх
stan777
Дата 1.3.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Но снова встала проблема, пекодировки символов "<" ">" как избаветься от этого раньше я просто испрльзовал Simple get, а щас симпл гет не идет так как я запрос должен модифицировать   $cookie_jar->add_cookie_header($reqG); 

в таком коде 

Код

$html=Getit($baseurl);

sub  Getit{
    my ($url)=@_;
    my $file='cookies.txt';
    my $cookie_jar = HTTP::Cookies ->new;
    $cookie_jar->load($file);

    my $ua = LWP::UserAgent->new;
    $ua->cookie_jar($cookie_jar);
                
    $reqG='GET'.$url; # ругается на это.
 
    $cookie_jar->add_cookie_header($reqG);
    my $response=$ua->request($reqG);
  return ($response->as_string);
}
Как мне модифицировать запрос чтобы не перекодировались символы "<" ">"  или это не возможно с LWP::UserAgent и он так и будет их перекодировать, или как в HTTP::Request отключить перекодировку брекетов ?



Это сообщение отредактировал(а) stan777 - 1.3.2007, 17:44
PM MAIL   Вверх
KSURi
Дата 17.3.2007, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Я всегда юзаю вот такой саб (переделанный по мере необходимости):
Код

sub getCookies
{
  my $ua=LWP::UserAgent->new(timeout=>7,
                             cookie_jar=>{});
  my $response=$ua->post(shift,
                         [user=>shift,
                          pass=>shift]);
  $response->is_success||croak "Cookies extraction failed";
  return $ua->cookie_jar;
}


Потом просто делаю вот так:
Код

my $ua=LWP::UserAgent->new(cookie_jar=>getCookies($host,$l,$p));


Это сообщение отредактировал(а) KSURi - 19.3.2007, 13:52


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0632 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.