Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Скан сайтов на определенный плагин (https://forum.antichat.xyz/showthread.php?t=432977)

-0x00- 13.11.2015 06:05

Собсно, вопросец такой:

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

Как пример:

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

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

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

Djoser 13.11.2015 12:07

Цитата:

Сообщение от -0x00-
-0x00- said:

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

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

Цитата:

Сообщение от -0x00-
-0x00- said:

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

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

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
winstrool said:

В каждом плагине 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-
-0x00- said:

Собсно, вопросец такой:
Есть пак доменов, нужно это дело отсканить на наличие нужного плагина
Как пример:
Плагин WP. Как вообще можно понять что он установлен на сайте? По косвенным признакам?
Есть там WPScan, но он не работает со списком доменов.
Есть ли такой софт в природе(паблике), или нужно писать?

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

Примерно так

Код:

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



Время: 09:13