最近一个客户的几套网站系统经常性的被黑,我大致看了下,网站是采用帝国的cms,在我印象中,类似帝国cms、织梦cms都是好多年之前的产物了。
我跟客户大致解释了下,因为这类cms系统使用的人多,所以研究其漏洞的人也就越多。而我们作为普通技术是没有时间跟精力去研究具体程序是有哪些漏洞,其实这类程序的官方也是在不停得去修复bug,也没有做到修复完。
那么回到问题的本质,我该如何去处理呢?
首先用一些常用的查询工具把已经存在的webshell先查找出来,
其次排查下数据库内是否有隐藏的一句话,
当然以上操作都是常规操作,因为程序漏洞并没有找到,也没有修复。我得做法就是将非程序主目录外的目录全部禁止运行php,本来想的是将其他目录页禁止生成php,但是因为网站是动态生成静态,改动和设置的地方实在做多,因此没有这样做。
帝国cms的系统核心目录是e,我将e目录改成其他名字,这样做的目的是如果e目录存在后门或者一句话木马,因为改了目录名字,所以黑客就无法找到了。另外在nginx配置内将非e目录外的其他所有请求包含php后缀的全部拦截为404
location ~* ^/(?!.*e).*(/.*\.php)?$ {
return 404;
}
至此,这个客户的问题解决了。
当然每个网站或者程序被黑的原因不一,最佳的方法当然是修复存在的漏洞,但对于这类老旧使用的人多的系统,除了等待官方的更新外,作为技术能快速的解决当前的问题才是核心。
如果您的网站或程序也存在此类情况,可以主页联系我,咨询解决!