NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Security (http://www.netvision-technik.de/forum/forumdisplay.php?f=32)
-   -   Anti DDos Elite (http://www.netvision-technik.de/forum/showthread.php?t=219)

TrackerPolizei 17.03.2008 08:35

Anti DDos Elite
 
Mit diesem Script könnt Ihr Euren Tracker Sicher machen ....

Wenn Ihr DDos Attacken bekommt Crasht der Server nicht mehr und fährt in U-Boot Modus und zeigt dann eine Meldung das der Server unter DDos Attacke ist und die IP geloggt wird.
" WAS ES AUCH WIRD "

Wenn die DDos Attacke dann vorbei ist geht der Tracker dann wieder und Ihr könnt die IP´s Bannen

Ist noch eine Beta... werde es noch so machen das der Anbieter des Angreifers ABUSE MAILS bekommt und der Angreifer sofort per IP gebannt wird ...
Was jetzt erst manuel geht !!!

Erstellt einen SQL Table :

sql Code:
CREATE TABLE `antiddos` (
  `ips` char(255) NOT NULL DEFAULT '',
  `load` int(2) DEFAULT '0',
  KEY `ips` (`ips`)
) TYPE=MyISAM;
dann erstellt euch eine " logip.php " :

PHP-Code:

<?php
include("include/connect.php");
$load file_get_contents("".$url."");
preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$load,$avgs);
$current=$avgs[1];
//echo $current;
if($current >20)
{
include(
"include/connect.php");
$ip getip();
mysql_query("INSERT INTO `antiddos` (`ips`,`load`) VALUES ('$ip','$current')") or sqlerr(__FILE____LINE__);
echo 
"Der Server Load ist zu hoch, wir stehen unter einer DoS attacke. AllE IP AKTIVIT. WERDEN IN DIESER ZEIT GELOGGT";
exit;
}
else{
echo 
"";
}
?>

und eine " turncate.php " :

PHP-Code:

<?
require "include/bittorrent.php";
dbconn(false);
loggedinorreturn();
if (get_user_class() < UC_SYSOP)
    stderr("Error", "Permission denied.");
{

}
if (get_user_class() == UC_SYSOP)
mysql_query("TRUNCATE TABLE `antiddos`");
?>
<?
    stderr("Clean Database", "Database Cleared!");
?>

*edit* die vergessene connect.php

PHP-Code:

<?php
mysql_connect
("localhost","DATABASE_USER","DB_PASS");  // Edit this line to match your SQL Login
mysql_select_db("DB_DATABASE");  // this too.
$url "http://www.Your-URL.com/tb/server_info.php"// edit this to your the full file path of server_info.php
?>

ihr müsst noch Datenbankname und Passwort sowie die anderen angeben anpassen

und ladet es in den include ordner rein

die " server_info.php "

PHP-Code:

<?php 
$load 
system("uptime"); 
?>

und hier die ddosadmin.php :

PHP-Code:

<?
require "include/bittorrent.php";
dbconn(false);
loggedinorreturn();
 if (get_user_class() < UC_SYSOP)
stderr("Sorry", "Access Denied");
 stdhead("ERROR");
?>
<p align="center"><a href="turncate.php">Clear Database</a><br />
<em>Its HIGHLY recomended that you clear the database on a daily basis. </em></p>
<div align="center">
  <table width="622" border="1">
    <tr>
      <td width="571"><div align="center" class="style1">Anti-DDoS Elite</div></td>
    </tr>
  </table>
  <table width="622" border="1">
    <tr>
      <td width="571"><div align="center">IP Address</div></td>
      <td width="571"><div align="center">Number Times accessed</div></td>
    </tr>
<?php
include("include/connect.php");
$result mysql_query("SELECT ips, COUNT(ips) AS NumOccurrences FROM antiddos GROUP BY ips HAVING ( COUNT(ips) > 1 ) order by NumOccurrences desc");
while(
$r=mysql_fetch_array($result))
{  
   
$ips=$r["ips"];
   
$NumOccurrences=$r["NumOccurrences"];
   echo 
"<tr><td>$ips</td><td>[$NumOccurrences]</td></tr>";
}
?>
  </table>
</div>
<?
stdfoot();
?>


Cerberus 17.03.2008 09:32

aber das
PHP-Code:

if (get_user_class() <= UC_SYSOP)
mysql_query("TRUNCATE TABLE `antiddos`"); 

würde ich eher so lösen
PHP-Code:

if (get_user_class() == UC_SYSOP)
mysql_query("TRUNCATE TABLE `antiddos`"); 


TrackerPolizei 17.03.2008 09:38

hab es mal so abgeändert

Pr1me 17.03.2008 10:32

die connect.php

Code:

include("include/connect.php");

aus der logip.php fehlt die zufällig? :)

Cerberus 17.03.2008 10:38

hmm -- scheint so -- vergessen :)
wird er sicher noch Nachliefern :)

TrackerPolizei 17.03.2008 10:50

....
 
ups sorry habs mal oben mit rein gemacht

Pr1me 17.03.2008 11:10

danke dir :), die server_info.php könntest du die bitte auch noch nachreichen :)

gotthummer 17.03.2008 11:59

Die turncate.php würd ich so machen dann sind keine unnötigen sachen drin

PHP-Code:

<?
require "include/bittorrent.php";
dbconn(false);
loggedinorreturn();
if (get_user_class() < UC_SYSOP)
stderr("Error", "Permission denied.");

mysql_query("TRUNCATE TABLE `antiddos`");
stderr("Clean Database", "Database Cleared!");
?>


TrackerPolizei 17.03.2008 12:10

...
 
kannst es ja mal umschreiben wie du es machen würdest

... ist ja auch erstmal nen ansatz von der ganzen sache

gotthummer 17.03.2008 12:14

Ist sonst eigentlich soweit ganz ok würd vielleicht noch die turncate.php weglassen und mit in die ddosadmin.php einbaun genau wie die server_info.php aber sonst seh ich so auf anhieb nix was mann ändern/verbessern könnte

EDIT: vielleicht noch die connect.php weglassen und das mit in die logip.php einarbeiten aber ansonsten ist das so schon ganz gut und ne feine sache


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:04 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.