dedecms v5.1/5.5 两处跨站漏洞的修复办法

影响版本:
dedecmsCMS V5.5
截止2010-03-18 17:50之前下载的所有版本,包含GBK和UTF-8版本
漏洞描述:
北洋贱队(http://bbs.seceye.org)首发
demo1:http://www.dedecms.com/plus/search.php?keyword=%22%3E%3Ciframe%20src=http://www.gohack.org%3E&searchtype=titlekeyword&channeltype=0&orderby=&kwtype=1&pagesize=10&typeid=0&TotalResult=%3Ciframe%20src=http://www.gohack.org%3E&PageNo=2
demo2:http://www.dedecms.com/plus/list.php?tid=6&TotalResult=%3Ciframe%20src=http://www.gohack.org%3E&nativeplace=0&infotype=0&keyword=&orderby=hot&PageNo=2
漏洞原因:
变量过滤不严格和未正确初始化变量。
解决办法:
search.php 重置关键字变量
list.php 加上变量TotalResult的类型检验

dedecms  v5.5的修改方法:修改的文件时list.php
dedecms v5.1的修改方法:修改的文件时search.php文件
list.php使用了以后有个问题会出现就是totalResult默认下为0,这样查看列表页时就始终显示第一页,推荐使用如下写法:
$TotalResult = (isset($TotalResult) && is_numeric($TotalResult) ? $TotalResult : null);
也就是把0换成null,即可!

发表评论

邮箱地址不会被公开。 必填项已用*标注