perl版 Webshell存活检测

原理:
检测url返回状态即可

源码:

 1 #!c:\\perl\\bin\\perl.exe
 2 use warnings;
 3 use strict;
 4 use LWP::UserAgent;
 5 $| = 1;
 6 print "---------------------------------------------------------\n";
 7 print "|              Webshell online check v1.0               |\n";
 8 print "---------------------------------------------------------\n";
 9 print "|                                                       |\n";
10 print '|              Power by :FireC@t                        |'."\n";
11 print "|              bbs:www.script-toolf.info                |\n";
12 print "|                                                       |\n";
13 print "---------------------------------------------------------\n";
14 my $ua = LWP::UserAgent->new();
15 $ua->timeout(5);
16 my $ok = 'OK';
17 my $false = 'False';
18 while(1){
19     print "---------------------------------------------------------\n";
20     open FILE, "<", "webshell.txt" or die "webshell file open error:$!\n";
21     foreach(<FILE>){
22         chomp;
23         if($_ !~ m#^http#i){$_ = 'http://'.$_;}
24         my $req = HTTP::Request->new(GET => "$_");
25         my $rep = $ua->request($req);
26         if($rep->status_line =~ /200/){
27             print "Yes --> $_\n";
28         }else{
29             print " No --> $_\n";
30         }
31     }
32     close FILE;
33     print "---------------------------------------------------------\n";
34     print "Ctrl+c to exit\nThe Next Check after 30sec please waite.....\n";
35     sleep(30);
36     system('cls');
37     #system('clear');
38 }
39  
40 print "press any key to continue";
41 getc();

 

 

#等有时间优化一下
#注意, 这个是用于win版本, 因为开头的#!路径, 还有就是system(‘cls’)用于WIN, 如果是linux的话
#请修改system(‘cls’)为system(‘clear’)
#再把开头的#!c:\\perl\\bin\\perl.exe修改为相应的perl路径
#
#

posted on 2016-11-30 22:44  Perl6  阅读(741)  评论(0编辑  收藏  举报

导航