#!/usr/bin/perl use LWP::UserAgent; my $ua = LWP::UserAgent->new( max_size => 1024, agent => 'kakep brayzer v 9.1.1', ); print"\n\n############# What a forum? genom-- ###############\n\n"; if (length(@ARGV[0])==0) {print 'Use: forum.pl http://www.loleg.com/forum/'; exit; } if (@ARGV[1] eq "all"){bulka();ipb();phpbb();exit;} $xz="\n ����� ��� �����?....";$xz=~tr/�-�/\x80-\x9f/;print "$xz"; my $req = HTTP::Request->new(GET => "@ARGV[0]".'reputation.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {$xz="��� ������ ���\n";$xz=~tr/�-�/\x80-\x9f/;print "$xz";bulka();exit;} else{$xz="�� �� ���\n";$xz=~tr/�-�/\x80-\x9f/;print "$xz";} $xz="\n � ���� ��� IPB?....";$xz=~tr/�-�/\x80-\x9f/;print "$xz"; my $req = HTTP::Request->new(GET => "@ARGV[0]".'style_images/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {$xz="������� �������\n";$xz=~tr/�-�/\x80-\x9f/;print "$xz";ipb();exit;} else{$xz="�������\n";$xz=~tr/�-�/\x80-\x9f/;print "$xz";} $xz="\n �������� �� phpBB?....";$xz=~tr/�-�/\x80-\x9f/;print "$xz"; my $req = HTTP::Request->new(GET => "@ARGV[0]".'viewtopic.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {$xz="������ ��\n";$xz=~tr/�-�/\x80-\x9f/;print "$xz";phpbb();exit;} else{$xz="��������\n";$xz=~tr/�-�/\x80-\x9f/;print "$xz";} sub phpbb{ print"\n~~~~~~~~~~~~~phpBB~~~~~~~~~~~~~\n"; print"\nCheck #1 for phpBB <=2.0.11 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'db/oracle.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #2 for phpBB <= 2.0.19 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'admin/admin_disallow.php?setmodules=00'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/Call to undefined function/==1) {print '[OK]+';} else{print'[NO]';} } sub ipb{ print"\n\n~~~~~~~~~~~~~IPB~~~~~~~~~~~~~\n"; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/lib/search_mysql_ftext.php'); my $res = $ua->request($req); $yda4a=$res->as_string; $ww=index($yda4a,'home');$ss=index($yda4a,'sources\lib');$zz=substr($yda4a,$ww,$ss-$ww);$zz=~s/\n//eg; $xz="���� � ����� � ������� ��� ipb < 2.2.0 ...";$xz=~tr/�-�/\x80-\x9f/;print"$xz $zz \n"; my $req = HTTP::Request->new(GET => "@ARGV[0]".'init.php'); my $res = $ua->request($req); $yda4a=$res->as_string; $ww=index($yda4a,'home');$ss=index($yda4a,'init.php');$zz=substr($yda4a,$ww,$ss-$ww);$zz=~s/\n//eg; $xz="���� � ����� � ������� ��� ipb >= 2.2.0 ...";$xz=~tr/�-�/\x80-\x9f/;print"$xz $zz \n"; print"\nCheck #1 for IPB 1.3.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'style_emoticons/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==1) {print '[OK]+';} else{print'[NO]';} print"\nCheck #2 for IPB 1.3.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'style_avatars/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==1) {print '[OK]+';} else{print'[NO]';} print"\nCheck #3 for IPB 1.3.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'Skin/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #4 for IPB 1.3.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'ssi_templates/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #5 for IPB 1.3.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'fonts/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\n------------------------------------\nCheck #1 for IPB 2.0.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'skin_cache/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #2 for IPB 2.0.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/ipbportal.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #3 for IPB 2.0.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/findpost.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #4 for IPB 2.0.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/announcements.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #5 for IPB 2.0.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/taskloader.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\n------------------------------------\nCheck #1 for IPB 2.1.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'jscripts/ipb_editor.js'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #2 for IPB 2.1.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'jscripts/ipb_editor_std.js'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #3 for IPB 2.1.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/components_acp/registration_DEPR.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #4 for IPB 2.1.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'sources/components_init/example.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\n------------------------------------\nCheck #1 for IPB 2.2.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'style_captcha/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #2 for IPB 2.2.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'resources/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #3 for IPB 2.2.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'converge_local/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #4 for IPB 2.2.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'admin/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/is not allowed to connect to/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #5 for IPB 2.2.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'skin_acp/clientscripts/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} } sub bulka{ print"\n\n~~~~~~~~~~~~~~~~~vBulletin~~~~~~~~~~~~~~~~~~~~~\n"; print"\nCheck version by clientscript's file ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'clientscript/vbulletin_editor.css'); my $res = $ua->request($req); $yda4a=$res->as_string; $ss=index($yda4a,'vBulletin');$zz=substr($yda4a,$ss,18);$zz=~s/\n//eg; print"$zz"; print"\nCheck #1 for vBulletin 3.6.4 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'clientscript/vbulletin_cphome_scripts.js'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #2 for vBulletin 3.6.4 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'images/regimage/fonts/HECK.TTF'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #3 for vBulletin 3.6.4 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'images/regimage/fonts/WetPet.ttf'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck #4 for vBulletin 3.6.4 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'includes/functions_banning.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck for vBulletin < 3.6.* ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'validator.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck for vBulletin >= 3.6.0 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'admincp/admininfraction.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck for vBulletin >= 3.6.0 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'signaturepics/'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck for vBulletin >= 3.6.0 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'includes/datastore'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} print"\nCheck for vBulletin >= 3.5.0 ...."; my $req = HTTP::Request->new(GET => "@ARGV[0]".'ajax.php'); my $res = $ua->request($req); $yda4a=$res->as_string; if ($yda4a=~m/not found/==0) {print '[OK]+';} else{print'[NO]';} } sub mybb{ }