grinay
17.04.2007, 08:43
Старые мемберы ачата, наверное, помнят мое творение Domain scaner на php.
Для тех, кто не знает о чем идет речь, я расскажу.
Вы задаете скрипту два параметра.
Искомый скрипт и урл сайта.
Далее с помощью системы Reverse-ip скрипт получает список сайтов хостящихся на этом же сервере что
и требуемый сайт.
После, получив сайты начинается опрос google с параметрами allintext:скрипт site:сайт
И выдает ссылки.
То-есть, например мы можем задать так phpbb.com Powered by phpbb и получим ссылку на скрипт.
Код.
#!/usr/bin/perl
use strict;
use threads;
use LWP::UserAgent;
my(@urls,@res,@thr);
my $st=join(' ',@ARGV);
my ($domain,$script)=split("::",$st);
$script=~s/ /+/g;
$script=~s/%20/+/g;
if(@ARGV<2){print "\nUsage: $0 phpbb.com::Powered by phpbb\n";exit();}
my $browser = LWP::UserAgent->new;
my $url = 'http://www.seologs.com/ip-domains.html';
my $response = $browser->post($url,['domainname' => $domain]);
my $data=$response->content;
while($data=~/(?<=\)\s)([-\w\.]*)(?=<br>)/ig){
push(@urls,$1);
}
sub parsegoogle {
my($script,$url)=@_;
my(@urlprs);
my $ua = LWP::UserAgent->new;
my $tmp=rand(800);
$ua->agent("Mozilla 5.0/Firefox/Build $tmp" . $ua->agent);
my $req = HTTP::Request->new(GET => "http://www.google.ru/search?hl=ru&q=allintext:$script+site:$url");
$req->header('Accept' => 'text/html');
my $res = $ua->request($req);
my $data=$res->content;
while($data=~/(?<=<h2 class=r><a href=\")(.*?)(?=\")/ig){
push(@urlprs,$1."\n");
}
return @urlprs;
}
#MAIN
my $size=@urls;
for(my $i=0;$i<$size;$i++){
@thr[$_]=threads->create(\&parsegoogle,$script,$urls[$i]);
print @thr[$_]->join;
}
Для тех, кто не знает о чем идет речь, я расскажу.
Вы задаете скрипту два параметра.
Искомый скрипт и урл сайта.
Далее с помощью системы Reverse-ip скрипт получает список сайтов хостящихся на этом же сервере что
и требуемый сайт.
После, получив сайты начинается опрос google с параметрами allintext:скрипт site:сайт
И выдает ссылки.
То-есть, например мы можем задать так phpbb.com Powered by phpbb и получим ссылку на скрипт.
Код.
#!/usr/bin/perl
use strict;
use threads;
use LWP::UserAgent;
my(@urls,@res,@thr);
my $st=join(' ',@ARGV);
my ($domain,$script)=split("::",$st);
$script=~s/ /+/g;
$script=~s/%20/+/g;
if(@ARGV<2){print "\nUsage: $0 phpbb.com::Powered by phpbb\n";exit();}
my $browser = LWP::UserAgent->new;
my $url = 'http://www.seologs.com/ip-domains.html';
my $response = $browser->post($url,['domainname' => $domain]);
my $data=$response->content;
while($data=~/(?<=\)\s)([-\w\.]*)(?=<br>)/ig){
push(@urls,$1);
}
sub parsegoogle {
my($script,$url)=@_;
my(@urlprs);
my $ua = LWP::UserAgent->new;
my $tmp=rand(800);
$ua->agent("Mozilla 5.0/Firefox/Build $tmp" . $ua->agent);
my $req = HTTP::Request->new(GET => "http://www.google.ru/search?hl=ru&q=allintext:$script+site:$url");
$req->header('Accept' => 'text/html');
my $res = $ua->request($req);
my $data=$res->content;
while($data=~/(?<=<h2 class=r><a href=\")(.*?)(?=\")/ig){
push(@urlprs,$1."\n");
}
return @urlprs;
}
#MAIN
my $size=@urls;
for(my $i=0;$i<$size;$i++){
@thr[$_]=threads->create(\&parsegoogle,$script,$urls[$i]);
print @thr[$_]->join;
}