perl版 Webshell存活检测
Posted FireC@t @ Perl6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 :[email protected] |‘."\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路径
#
#
以上是关于perl版 Webshell存活检测的主要内容,如果未能解决你的问题,请参考以下文章