首页 » Linux » 数据库 » 阅读文章
ecshop临时防止CC攻击(针对ecs_sessions表攻击)
最近ECSHOP商城受到CC攻击 网站无法访问,还受到陌生QQ威胁,一看就是网络勒索。谷歌了一下各种解决办法无果,不过还是有一些有用的信息,这源于ECSHOP的session机制的漏洞。所有用户访问的session,不经过过滤都会被存入MYSQL.导致MYSQL表ecs_sessions撑满,从而使虚拟主机卡机和数据库爆错。
错误以下:MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `ecshop`.`ecs_sessions` (sesskey, expiry, ip, data) VALUES (’13fc4bca679b1fd123f9e233ddfcb427′, ‘1350706456’, ‘218.15.164.131’, ‘a:0:{}’) ) [2] => Array ( [error] => The table ‘ecs_sessions’ is full ) [3] => Array ( [errno] => 1114 ) )
找到这原因就好办了,找到ecs_sessions表,发现就几个IP在每秒上百次的写入。
一两个IP就好办。打开/includes/cls_sessions.php 文件 找到133行
把这里改成
或者修改成:
function insert_session()
{
if($this->db->getOne(“SELECT count(*) FROM “. $this->session_table.” WHERE ip='”.$this->_ip.”‘”)<5){//临时防止CC攻击
return $this->db->query(‘INSERT INTO ‘ . $this->session_table . ” (sesskey, expiry, ip, data) VALUES (‘” . $this->session_id . “‘, ‘”. $this->_time .”‘, ‘”. $this->_ip .”‘, ‘a:0:{}’)”);
}else{
return ”;
}
}
这样攻击者的IP就不会被写入数据库。大功告成。
现在的小黑鸟,就一台肉鸡也赶来威胁… 这也是黑客速成网站多起来的后果
评论 共1条 (RSS 2.0) 发表评论
真的很好,我被人搞了3天,两次爆表。用了这个方法,最起码能扛一段时间。