在IIS日志里,可以看到如图1的记录。
[attach=12]
这么多人,同一时间,都不停的访问咱们的同一个帖子?很明显是被CC了
Discuz!论坛里有防止CC攻击的选项 它在config.inc.php里
$attackevasive = 1;
// protect against attacks via common request, 0=off, 1=cookie refresh limitation, 2=deny proxy request, 3=both // 防护大量正常请求造成的拒绝服务攻击, 0=关闭, 1=cookie 刷新限制, 2=限制代理访问, 3=cookie+代理限制 |
如果把它设为2或者3都会引起发贴时出现以下提示:
Proxy Connection Denied
Your request was forbidden due to the administrator has set to deny all proxy connection. |
现在只好将它设成了1,实际上要是有人继续攻击的话,这样的设置完全没有任何作用。
因为攻击者使用的是 viewthread.php 进行CC,viewthread.php不停的调用MySQL进行查询,短时间内的大量查询会引起非常严重的资源消耗。所以我在该页面的头部加入了以下代码(来源于网络,未经修改)
//protect CC //=============================================
if (isset($_SERVER)) { $realip = $_SERVER[HTTP_X_FORWARDED_FOR]; } else { $realip = getenv("HTTP_X_FORWARDED_FOR"); } if ($realip!=''){ echo ("不可以使用代理访问"); exit(); }
//============================================ |
加入这段代码的目的是禁止所有使用了代理的访问都被拒绝掉。
可是这样做以后论坛会出现一个问题,当人们没有使用代理访问的时候,由于 $_SERVER[HTTP_X_FORWARDED_FOR]不存在,导致PHP语法错误。具体表现症状:
如果php.ini中的display_errors设为Off,那么viewthread.php打开时就是一片空白。
(这两天论坛说帖子打不开就是这个原因)
如果把它改成On,理论上就应该报告错误
Notice: Use of undefined constant HTTP_X_FORWARDED_FOR - assumed 'HTTP_X_FORWARDED_FOR' in E: ******** bbsviewthread.php on line 4 |
可惜之前这么做的时候,它并没有把错误报告出来,因此我也就一直忽视掉了这个有语法错误的代码(从网上COPY过来的,没想到会有语法错误)
它的语法错误还不止这一点,要获取这个HTTP_X_FORWARDED_FOR变量,还需要加单引号。花了一段时间进行调试后,将代码修改为以下内容,依然放在viewthread.php头部,论坛恢复正常了
/*---------------------保护论坛不被CC的代码-------------*/ if (isset($_SERVER)&&$_SERVER['HTTP_X_FORWARDED_FOR']!='') { $attackip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $attackip = getenv("HTTP_X_FORWARDED_FOR"); } //exit ("test"); if ($attackip!=''){ $attackfile=@fopen("E:\\*******\\bbs\\attachments\\1.txt","a"); @fwrite($attackfile,$attackip."".date("Y-m-d H:i:s", time()).""); fclose($attackfile); exit("不可以使用代理访问"); } /*---------------------保护论坛不被CC的代码-------------*/ |
这一段代码除了禁止使用代理访问论坛以外,还把使用代理者的真实IP给记录了下来。保存到了1.txt中。截至目前为止,该txt文件已经达到了数十兆大小。而且里面的IP地址99.9999%来自61.152.251.201这个地址。
[attach=13]
通过反向的Domain-IP Reverse查询,我们可以获得部分该IP的网站信息:
61.152.251.201 has address 61.152.251.201 Found 13 websites with the IP 61.152.251.201
1) chinainno.com 2) csxt.cn 3) deepestdark.com 4) diqing.com.cn 5) dk8888com.w271.a-gf.com 6) dpchem.com 7) ecoart.com.cn 8) le-chuang.com 9) my-akiba.com 10) nguitars.com.cn 11) njstv.com 12) tanwuyu.amcn.net 13) xs899.com |
经过简单的测试,很容易可以获得某些站的webshell。
毒药也拿到了CMD下的shell,可惜是低权限的,无法阻止该服务器继续CC。
其实我也想过,可以对这些站点进行CC,让该IP变得卡一点,或许对方会放弃攻击。
或者通过该C段的服务器把这台机器ARP干掉,不让它上网,也许也能缓解现在的问题。
可是这都不是最终的解决办法,VIF停止开发了,我无法使用它在系统上解决CC,而服务器的IIS承受连接数也就那么大,实在是没招。
只能祈求攻击者不要再那么无聊了,否则我们会考虑请司法机构介入。
互相D来D去的,真的没什么意思,黑客X档案也没招惹过谁,难道你就一定要这样乐此不疲的跟我们过不去吗? |