ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Регистрация Liex.ru на perl
  #1  
Старый 08.11.2009, 13:51
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию Регистрация Liex.ru на perl

Я пишу скрипт реги этого сайта на perle(это не важно). Отпраляю методом POST следующее:
Код:
POST /userAction?action=registerUser HTTP/1.0
Host: www.liex.ru
Referer: http://www.liex.ru/Registration.jsp
User-Agent: liexAPI/0.9
Cookie: Referrer=14834; JSESSIONID=oy5n08f8r1uz;
Content-Type: multipart/form-data; boundary="Asrf456BGe4h"
Content-Length: 751
Connection: keep-alive
Keep-Alive: 300


--Asrf456BGe4h
Content-Disposition: form-data; name="name"

Gena
--Asrf456BGe4h
Content-Disposition: form-data; name="login"

testliex
--Asrf456BGe4h
Content-Disposition: form-data; name="email"

gena@yandex.ru
--Asrf456BGe4h
Content-Disposition: form-data; name="password"

123456543
--Asrf456BGe4h
Content-Disposition: form-data; name="password2"

123456543
--Asrf456BGe4h
Content-Disposition: form-data; name="wmz"

Z123456789012
--Asrf456BGe4h
Content-Disposition: form-data; name="defaultInterface"

1
--Asrf456BGe4h
Content-Disposition: form-data; name="Submit2_x"

12
--Asrf456BGe4h
Content-Disposition: form-data; name="Submit2_y"

5
--Asrf456BGe4h
Content-Disposition: form-data; name="term"

on
--Asrf456BGe4h--
Submit2_x(y) беру randomom, сервер возвращает ошибку(плохой e-mail), хотя при отправке через форму всё тип-топ. Если не сложно посмотрите что не так, и ещё там может какая защита стоит в js файле тоже гляньте)))Заранее благодарю.
http://www.liex.ru/Registration.jsp - регистрация, форма
http://www.liex.ru/js/validate.js - js файл
Кстати я предполагаю, что может быть с e-mailом всё в порядке, а это защита от авторегистраций.
 
Ответить с цитированием

  #2  
Старый 08.11.2009, 14:15
UID: 40683
USER: Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Нет там защиты
 
Ответить с цитированием

  #3  
Старый 08.11.2009, 14:26
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию

Я точно не знаю, но там ajax запросы идут с установкой cookie, я плохо в js разбираюсь, поэтому и попросил посмотреть, в любом случае спасибо, только вот что с e-mail делать? Я отсылаю этот запрос, получаю JSESSIONID(идентификатор сессии) и location=Error2.jsp, иду с ним в liex.ru/Error2.jsp, он пишет мол плохой e-mail.
 
Ответить с цитированием

  #4  
Старый 08.11.2009, 14:43
UID: 47862
USER: Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

email из фалика цепляй или пропиши так:

$email = "123";$email .= "@";$email .= "mail.ru";

@ - зарезервированный символ в perl (для массивов)

Последний раз редактировалось Pashkela; 08.11.2009 в 14:46..
 
Ответить с цитированием

  #5  
Старый 08.11.2009, 14:49
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию

Я в курсе, я в одинарные кавычки заключил.
$email = 'gena@yandex.ru';
 
Ответить с цитированием

  #6  
Старый 08.11.2009, 14:52
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию

У меня идёт скрипт print $socket "POST/......";
Я $socket убрал и скопировал сюда, поэтому что в первом скрипте то и отправляется
 
Ответить с цитированием

  #7  
Старый 08.11.2009, 15:38
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию

Что я загадками говорю??))) Вот код:
Код:
package liex::API;

use strict;
use Carp qw(croak carp);
use IO::Socket::INET;
use Encode qw(from_to);

our $VESRION = '0.9';
our @EXPORT = qw();
our @EXPORT_OK = qw();

sub reg {
	my ($class, %cnf) = @_;
	my $page;
	my %self = ('tech' => 0,
				'cookie' => "");
	Carp::croak("Options to liex::API should be key/value pairs, not hash reference") if ref($_[1]) eq 'HASH';
	my $name = delete $cnf{'name'};
	my $username = delete $cnf{'username'};
	my $password = delete $cnf{'password'};
	my $e_mail = delete $cnf{'e_mail'};
	my $wmz = delete $cnf{'wmz'};
	my $webmaster = delete $cnf{'webmaster'} || 1;
	my $reflink = delete $cnf{'reflink'} || undef;
	$reflink =~ m/http\:\/\/(www\.)?liex\.ru\/([\d\w\_\-\.]+)/i;
	my $link = $2;
    if(!$link){
    	$link= "";
    }
    my $socket = IO::Socket::INET->new("www.liex.ru:80");
    print $socket "GET /".$link." HTTP/1.0\n
    			   Host: liex.ru\n
    			   User-Agent: liexAPI/0.9\n
    			   Accept: text/html\n
			  	   Connection: close\n\n";
	while(my $get = <$socket>){
		$page .= $get;
	}
	if(is_tech($page)){
		$self{'tech'} = 1;
	} else {
		my %cookies = get_cookies($page);
		$socket = IO::Socket::INET->new("www.liex.ru:80");
		print %cookies;
		my $boundary = "Asrf456BGe4h";
		my $data = "\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"name\"\n\n";
		$data .= "$name\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"login\"\n\n";
		$data .= "$username\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"email\"\n\n";
		$data .= "$e_mail\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"password\"\n\n";
		$data .= "$password\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"password2\"\n\n";
		$data .= "$password\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"wmz\"\n\n";
		$data .= "$wmz\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"defaultInterface\"\n\n";
		$data .= "$webmaster\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"Submit2_x\"\n\n";
		$data .= int(rand(20)/1)."\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"Submit2_y\"\n\n";
		$data .= int(rand(25)/1)."\n";
		$data .= "--$boundary\n";
		$data .= "Content-Disposition: form-data; name=\"term\"\n\n";
		$data .= "on\n";
		$data .= "--$boundary--\n\n";
		$page = "";
		print $socket "POST /userAction?action=registerUser HTTP/1.0\n".
					   "Host: www.liex.ru\n".
					   "Referer: http://www.liex.ru/Registration.jsp\n".
					   "User-Agent: liexAPI/0.9\n".
					   "Cookie: Referrer=".$cookies{'Referral'}."; JSESSIONID=".$cookies{'JSESSIONID'}.";\n".
					   "Content-Type: multipart/form-data; boundary=\"".$boundary."\"\n".
					   "Content-Length: ".length($data)."\n".
					   "Connection: keep-alive\n".
					   "Keep-Alive: 300\n\n".$data;
		while(my $get = <$socket>){
			$page .= $get;
		}
		if(is_tech($page)){
			$self{'tech'} = 1;
		} else {
			%cookies = get_cookies($page);
			my $cookies;
			foreach my $cookie(keys %cookies){
				$cookies .= $cookie."=".$cookies{$cookie}."; ";
			}
			$self{'cookie'} = $cookies;
		}
	}
	my $self = bless(\%self, $class);
	return $self;
}

sub get_cookies {
	my $_ = $_[0];
	my %list = m/set-cookie:[\s]?([\w]+)=([\w]+)/ig;
	return %list;
}

sub is_tech {
	my $page = $_[0];
    from_to($page, 'cp1251', 'utf8');
    if($page =~ m/технические работы/i){
    	return 1;
    } else {
    	return 0;
    }
}
1;
И код, использующий этот класс:
Код:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
use CGI::Carp qw(fatalsToBrowser);
use strict;
use liex::API;
use CGI qw(:standard);
my $object = liex::API->reg(name => "Gena",
			        username => "testliex",
			        password => "123456543",
			        e_mail => 'gena@yandex.ru',
			        wmz => "Z123456789012",
			        webmaster => 1,
			        reflink => "http://liex.ru/winflip.htm");

Последний раз редактировалось winflip; 08.11.2009 в 15:42..
 
Ответить с цитированием

  #8  
Старый 08.11.2009, 22:03
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию

Что, никто не знает?? Я уже несколько форумов переспрашивал(((
 
Ответить с цитированием

  #9  
Старый 08.11.2009, 22:14
UID: 35965
USER: krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
use LWP::UserAgent;
 
Ответить с цитированием

  #10  
Старый 08.11.2009, 22:25
UID: 85290
USER: winflip
winflip
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме:
91842

Репутация: 1
По умолчанию

Цитата:
use LWP::UserAgent;
А в чём разница?? В чём смысл???
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Just Another Perl Hacker ph1l1ster PHP, PERL, MySQL, JavaScript 6 21.05.2009 01:36
Дешевый Хостинг SimBa Социальные сети 15 03.05.2009 14:54
Опасность ошибок Perl недооценивалась? 1251soldier Мировые новости 0 01.12.2005 20:56
Books Perl FRAGNATIC PHP, PERL, MySQL, JavaScript 0 11.08.2005 16:58
Безопасность приложений на Perl k00p3r Чужие Статьи 0 12.06.2005 09:39



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ