关于YII框架和DEDECMS系统的思路问题
{dede:fieldclick/}只能在文章页调用,且是静态数值,手动更新文章这个阅读数才会更新。
列表页动态更新阅读数调用:
<script src="/plus/countphpview=yes&aid=[field:id/]&mid=1" type='text/javascript' language="javascript"></script>
列表页调用文章关键词:
[field:id runphp=yes]
global $dsql;
$tags = '';
$query = "SELECT keywords FROM `dede_archives` WHERE id='@me' ";
$dsql->Execute('keywords',$query);
while($row = $dsql->GetArray('keywords'))
{
$keywords1=$row['keywords'];
}
@me=$keywords1;
[/field:id]
开学了,返校了,又在宿舍上网了,但现在的校园网安全吗暑假中,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”按钮,测试网站是否符合条件
第一个问题,这个数量是程序根据你后台输入的数字X,数据库查询出X个结果,保存在一个数组,然后前台{foreeach 循环显示全部的结果,有几个就显示几个。
第二个问题,这些关键词和简介应该是在站点设置里面统一输入的吧,织梦是在系统-系统基本参数这里输入
如果有写入权限的话,是可以替换的,你把原来的那个indexhtml改下名字,比如说index_bakhtml如果连名字都没办法改,那就是你网站根目录没有写入权限,你要到你的空间管理面板里去看下,有没有设置开通写入权限的功能,不会搞的话去找空间服务商,你花钱就应该享受他们的服务的,让帮你看下,一般dedecms是都比较正常的,你无法替换文件,可能是没有写入权限。你先改下原来的那个indexhtml的名字,然后按第一次回答的那个建立个新的index文件看下,如果不能改名或者无法建立,那就找空间商看看~如何开通写入权限~
将以下自定义函数 放到include/extendfuncphp 中
/文章发布多少时间前/function tranTime($time) {
$rtime = date("m-d H:i",$time);
$htime = date("H:i",$time);
$time = time() - $time;
if ($time < 60) {
$str = '刚刚';
}
elseif ($time < 60 60) {
$min = floor($time/60);
$str = $min'分钟前';
}
elseif ($time < 60 60 24) {
$h = floor($time/(6060));
$str = $h'小时前 '$htime;
}
elseif ($time < 60 60 24 3) {
$d = floor($time/(606024));
if($d==1)
$str = '昨天 '$rtime;
else
$str = '前天 '$rtime;
}
else {
$str = $rtime;
}
return $str;
}
函数: tranTime()
其实就是用上这个自定义函数 就可以了
<php
echo tranTime($mytime);
>
DEDE用法
列表页 [field:pubdate function="tranTime(@me)" /]
内容页 {dede:fieldpubdate function="tranTime(@me)"/}
0条评论