PDA

Просмотр полной версии : Скан сайтов на определенный плагин


-0x00-
13.11.2015, 06:05
Собсно, вопросец такой:

Есть пак доменов, нужно это дело отсканить на наличие нужного плагина

Как пример:

Плагин WP. Как вообще можно понять что он установлен на сайте? По косвенным признакам?

Есть там WPScan, но он не работает со списком доменов.

Есть ли такой софт в природе(паблике), или нужно писать?

Djoser
13.11.2015, 12:07
-0x00- said:
↑ (https://antichat.live/posts/3914868/)
Плагин WP. Как вообще можно понять что он установлен на сайте? По косвенным признакам?


открить файл readme.txt по пути плагина


-0x00- said:
↑ (https://antichat.live/posts/3914868/)
Есть ли такой софт в природе(паблике), или нужно писать?


сканера именно по спискам доменов нету

blaga
13.11.2015, 12:16
Не особо сложно написать такое самому.

Самое простое если с плагином идет картинка, достаточно просто проверить есть эта картинка или нет на сайте.

ну или вообще если эти плагины какие то файлы создают то достаточно просто этот файл проверить. js или css файл.

winstrool
13.11.2015, 12:45
В каждом плагине WP должен идти файлик readme.txt в котором есть обязательные атрибуты, к примеру:

_ttp://garden.bnp.co.il/wp-content/plugins/contact-form-7/readme.txt тут в качестве атрибута или контрольного слова я в своем примере использовал

Contributors


Под него и пишем скриптик, переписал свою старую наработку на перл под данный случай

Вот собственно и сам код:


Code:
#!/usr/bin/perl

use LWP::UserAgent;
#use HTTP::Request::Common qw(GET);
use LWP::Simple;
$ua = LWP::UserAgent->new();
$ua->agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.703.0 Chrome/12.0.703.0 Safari/534.24");
#$ua->timeout(30);

my $url = $ARGV[0];
my $plugin = $ARGV[1];

&help unless @ARGV==2;

open(ifile, ";
close("ifile");

&fun_cheak;

sub trim {
my($string)=@_;
for ($string) {
s/^\s+//;
s/\s+$//;
}
return $string;
}


sub help{
print "Usage:\n";
print "cms.pl || cms.pl list.txt contact-form-7\n";
print "";
exit;
}

sub fun_cheak{
print "..::START::..\n";
print "--------------\n";
foreach my $urls(@dirs){

my $query=trim($urls)."/wp-content/plugins/$plugin/readme.txt";
my $resp = $ua->get($query);
#print "$query\n";

#parsing
if($resp->content =~ /Contributors/){ #Контрольное слово
print "[$plugin]::$urls\n";
open(TXTS,"+>>good.txt");

print TXTS $urls;
close(TXTS);

}

}
print "\n--------------\n";
print "..::FINISH::..";
}

-0x00-
14.11.2015, 20:05
winstrool said:
↑ (https://antichat.live/posts/3914928/)
В каждом плагине WP должен идти файлик readme.txt в котором есть обязательные атрибуты, к примеру:
_ttp://garden.bnp.co.il/wp-content/plugins/contact-form-7/readme.txt тут в качестве атрибута или контрольного слова я в своем примере использовал
Contributors

Под него и пишем скриптик, переписал свою старую наработку на перл под данный случай
Вот собственно и сам код:

Code:
#!/usr/bin/perl

use LWP::UserAgent;
#use HTTP::Request::Common qw(GET);
use LWP::Simple;
$ua = LWP::UserAgent->new();
$ua->agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.703.0 Chrome/12.0.703.0 Safari/534.24");
#$ua->timeout(30);

my $url = $ARGV[0];
my $plugin = $ARGV[1];

&help unless @ARGV==2;

open(ifile, ";
close("ifile");

&fun_cheak;

sub trim {
my($string)=@_;
for ($string) {
s/^\s+//;
s/\s+$//;
}
return $string;
}


sub help{
print "Usage:\n";
print "cms.pl || cms.pl list.txt contact-form-7\n";
print "";
exit;
}

sub fun_cheak{
print "..::START::..\n";
print "--------------\n";
foreach my $urls(@dirs){

my $query=trim($urls)."/wp-content/plugins/$plugin/readme.txt";
my $resp = $ua->get($query);
#print "$query\n";

#parsing
if($resp->content =~ /Contributors/){ #Контрольное слово
print "[$plugin]::$urls\n";
open(TXTS,"+>>good.txt");

print TXTS $urls;
close(TXTS);

}

}
print "\n--------------\n";
print "..::FINISH::..";
}



Спасибо большое за скрипт) Уже реализовал немножечко по другому

blackbox
14.11.2015, 22:26
-0x00- said:
↑ (https://antichat.live/posts/3914868/)
Собсно, вопросец такой:
Есть пак доменов, нужно это дело отсканить на наличие нужного плагина
Как пример:
Плагин WP. Как вообще можно понять что он установлен на сайте? По косвенным признакам?
Есть там WPScan, но он не работает со списком доменов.
Есть ли такой софт в природе(паблике), или нужно писать?


Можно с помощью любого скриптового языка сделать из файла выборку доменов нужных и по ним сгенерить цикл, где каждый домен будет wpscan проверятся.

Примерно так


Code:
foreach($domains as $domain)
{
system("wpscan -u $domain >> result.txt");
}