如何防止黑客利用新的DeDeCMS漏洞入侵
有的Dede默认生成首页后,首页的链接后面会多出一个indexhtml,官方说法这样有利于网站优化。出于不让首页权重分散考虑,同时也是美观考虑,dede首页的indexhtml还是得去掉好。
下面就给大家分享一下如何去掉织梦首页的indexhtml
方法一:
使用htaccess文件目前使用的是这个办法,试验成功。
方法如下:
在根目录的htaccess里加入以下代码:
DirectoryIndex indexhtml indexphp indexhtm
方法二:
在主机里面设置默认首页顺序:把indexhtml提到最前面。
因主机不同,设置方法也不同,大多数空间都是在空间商会员后台可以改动。例如:万网。
方法三:也是最简单行之有效的办法。
找到根目录下的indexphp文件,找到如下内容
//自动生成HTML版
if(isset($_GET['upcache']) || !file_exists('indexhtml'))
{
require_once (dirname(__FILE__) "/include/commonincphp");
require_once DEDEINC"/arcpartviewclassphp";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);
$row['showmod'] = isset($row['showmod']) $row['showmod'] : 0;
if ($row['showmod'] == 1)
{
$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');
include(dirname(__FILE__)'/indexhtml');
exit();
} else {
$pv->Display();
exit();
}
}
else
{
header('HTTP/11 301 Moved Permanently');
header('Location:indexhtml');
}
>
把上面一大段替换成下面的这段代码
if(!file_exists(dirname(__FILE__)'/data/commonincphp'))
{
header('Location:install/indexphp');
exit();
}
require_once (dirname(__FILE__) "/include/commonincphp");
require_once DEDEINC"/arcpartviewclassphp";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir $cfg_templets_dir "/" $row['templet']);
$pv->Display();
>
用robots Disallow掉动态网页,禁止收录一些目录就可以了,你的没有写robots吧。 我的也是dedecms的,你可以看看我的robots写法,robots是放在根目录的哦,这你应该知道。参考网站
开学了,返校了,又在宿舍上网了,但现在的校园网安全吗暑假中,DeDeCMS系统曝出了严重的漏洞,这个系统在很多学校的校园网中存在,黑客利用该漏洞就可以控制校园网,进行挂马、嵌入病毒……不过校园网中不乏电脑高手,下面我们就来看看“红帽”同学对自己学校网站的开学安全检测。
我的网名叫“红帽”,我猜每一个大学校园里,都有像我这样的一号人,我们对电脑充分的了解,面对互联网海洋时,就如同游泳池中的菲尔普斯一样。无论你需要找到什么东西,只要它存在于互联网之中,或者在互联网中生活过一段时间,我都能够帮助你找到源头,或者帮你把你感兴趣的东西弄到手。你猜对了,我就是黑客,活跃在校园里面的黑客。
我自认为算是高手,帮同学从别的黑客手里**回被窃的账号,在网吧让一个讨厌鬼不停的更换电脑,也曾经尝试着入侵NASA的计算机网络。
这段日子正是开学的日子,我准备对我的学校网站进行了一次安全检测。或许你要问,为什么要对自己学校的网站进行安全检测我们学校用了DeDeCMS系统(中文名称是织梦内容管理系统),这个系统在很多学校中被使用。
博弈主题:攻击DeDeCMS整站系统
技术难度:★★★★
重点知识:如何用新的DeDeCMS漏洞来入侵
DeDeCMS系统被很多学校使用并不能让我产生检测自己学校的网站的念头,真正让我产生这个念头的原因是这个系统最近曝出了严重的漏洞,不知道网管补上该漏洞没有,如果没有补上,大家回校后上校园网就危险了。
DeDeCMS身藏URL编码漏洞
这次DeDeCMS新出的漏洞是一个URL编解码漏洞,导致漏洞出现的原因是DeDeCMS的设计者在joblistphp、guestbook_adminphp等文件中对orderby参数未做过滤。黑客可以利用这些漏洞查询数据库的敏感信息,例如管理员密码、加密key等,一旦这些敏感资料被黑客掌握,要在校园网内挂马就是轻而易举的事情了,真危险。
小知识:编码是将源对象内容按照一种标准转换为一种标准格式内容。解码是和编码对应的,它使用和编码相同的标准将编码内容还原为最初的对象内容。编解码的目的最初是为了加密信息,经过加密的内容不知道编码标准的人很难识别。
实战入侵
既然知道了漏洞的成因,下面就来亲手检测一下。目前有两种方案可以实现DeDeCMS整站系统的入侵,一种是PHP脚本的入侵方案,采用这种方案,需要先在自己的本机调试好PHP解析环境,然后登录入侵的目标网站,在PHP环境中运行漏洞测试代码。不过这种方案实行起来相对复杂,因此我使用第二种进行检测,通过漏洞检测注入程序直接注入。
首先,登录学校的网站。然后打开《DeDeCMS漏洞注入检测程序》,点击“Target
Infomation”标签选项,在“URL”一项后面将寻找到的有DeDeCMS系统漏洞的网址复制粘贴到地址输入框,这里利用DeDeCMS的网站路径地址“/include/htmledit/indexphp”得到网站的物理路径。
在登录系统之后,复制浏览器地址栏中的网站路径,例如[url=http://wwwhackercom/dedecms5/include/htmledit/indexphpmodetype=basic&height[]=chinaren]http://wwwhackercom/dedecms5/include/htmledit/indexphpmodetype=basic&height[]=chinaren[/url],然后复制粘贴提交测试,粘贴完成后点击“Check”按钮,测试网站是否符合条件
1、织梦CMS文章采集
新建一个文章采集节点,后台——采集——采集节点管理——增加新节点,选择内容模型为普通文章。
设置节点基本信息。目标源码同上篇文章所说,通过查看目标网站源代码后设置,区域匹配模式默认字符串,只有在字符串无法确定区域的时候才用正则表达式,不过一般都用不上。最后就是织梦cms采集的特点之一防盗链模式,如果目标网站有防盗链功能则开启次功能可以成功采集,但是会降低采集速度。次测试目标网站没防盗链功能,所以不开启。
列表网站获取规则。同上篇文章分析,列表网址是有规律的可批量生成。这里要说下dedecms的强大之处,不仅获取列表网址的方式能灵活组合,而且如果目标网站整站使用的都是同一个模板,就可以启用“多栏目通配(#)”功能,通过设置后一个采集规则就可以采集整站并发布不同栏目了,而不需要一个栏目对应一个规则。(此功能小编会另外单独写一篇教程)
文章网址匹配规则。查看目标列表页源代码,设置要采集文章网址区域的开始和结束的html,接下来又是dedecms特点之一,如果采集网址页面链接有可直接设置采集为缩略图,非常方便。对区域网址进行再次筛选功能也有特色,除支持正则表达式外还声明了“必须包含”和“不能包含”的优先级,本篇体验目标站无干扰网址,所以留空。
保存并测试,系统会应用前面的设置测试采集网址,完整无误后保存信息并进入下一步内容采集设置。
网页内容获取规则。系统会默认一个采集url为预览网址,另外内容分页导航所在的区域匹配规则也很灵活,除了和phpcms一样有全“部列出的分页列表模式”、“上下页形式或不完整的分页列表模式”外,还多了一个“分页列表规则”。
各字段内容采集,dedecms的内容匹配规则和phpcms一样:“起始无重复HTML[内容]结尾无重复HTML”,[内容]即为所采内容。过滤规则是{dede:trim replace=""}规则{/dede:trim},多个规则的话一个一行,如果要替换成指定的值,则只要在replace=""的引号里设置即可。
其中,内容摘要、关键字、缩略图系统会用正则进行自动匹配,我们只需设置过滤内容即可。其余字段分别设置匹配规则和过滤规则,系统同样自带了几个常用的过滤规则,但是点击“常用规则”后为弹出小窗口模式,稍微有点不方便。针对本测试的标题采集,以下两种方式都是可以的,如图:
文章作者、文章来源和发布时间字段一样采集,但是此版本dedecms在这几个字段下没有“自定义处理接口”了,如果有的话会稍显灵活,例如设置固定值可直接用“@me="固定值"”实现。现在不能用自定义处理接口设定固定值,也没有字段值设置,只能通过采集网页某一固定值然后用替换。如图:
dedecms的文章内容采集非常强大,除了匹配规则和过滤规则,还有个“自定义处理接口”。如果你有php基础的话,可以通过此功能对采集结果@me进行各种处理,强大到不行啊。以后小编会专门发一篇此功能的讲解文章。最后,不能直接在采集管理处新增采集字段,只能在对应内容模型管理中增加字段,采集管理会自动增加。如小编在“普通文章”内容模型那增加了一个“chinaz字段”,则采集设置中自动增了一个“chinaz字段”项目。
保存并测试,查看列表测试信息和网页规则测试,检查是否正确,无误后确定并开始采集。进入采集指定节点设置页面,因为小编之前有测试一遍,所以有60个历史种子网址,即小编之前已经采集了60个网址,另外还有几个选项大家按需求选择。
点开始采集网页,出现此采集提示信息显示采集进度,不知道是小编人品不好还是dede采集本身缺点,经常会浏览器没反应,采集停止在那,只有手动点击了才会继续。
采集完成后点右上角的“导出数据”,然后选择导出栏目,如果你在前面启用了“多栏目通配(#)”并指定了栏目ID,则要勾选此处的“批量采集选项”,其余选项根据自己需求选择,然后确定。如果勾选了“完成后自动生成导入内容HTML”则会在导入完后自动更新网站,否则就要先手动去生成。
Dedecms备份:
1、登陆网站后台,进入系统——数据库备份/还原;
2、选择页面上列出的所有的表,点击提交即可;
3、在ftp中将所有文件下载到本地(尤其是/data/backupdata/目录以及templets目录)。
Dedecms恢复:
当网站出现问题需要转移恢复数据的时候按照以下步骤进行:
1、将所有文件上传到服务器;
2、删除install目录下的install_locktxt,并将indexphpbak更名为:indexphp;
3、运行http://你的新网址/install重新安装dedecms;
4、进入后台,系统——数据库备份/还原,点击右上角的数据还原进行恢复即可。
0条评论