织梦/plus/download.php url重定向漏洞的解决方法

使用scanv网站体检发现有DedeCMS 5.7SP1 /plus/download.php url重定向漏洞(如下图),对比官方网站最新下载包发现该漏洞未进行补丁,但官方自身网站已经补上了,而官方演示站点均未补上。

参考了下网上给出的漏洞原因和解决思路如下:

$link = base64_decode(urldecode($link));

link可以构造成任意地址,下面直接跳转了

header("location:$link");

影响所有用到dedecms系统的网站。

漏洞证明:http://www.**.com/plus/download.php?open=1&link=aHR0cDovL3d3dy5iYWlkdS5jb20%3D

其中将**号更改为你的网站域名,如果跳转到其它网站就说明存在漏洞。

修复方案:对link参数做判断,对不是同域名的跳转给予提示

我们这里给出具体的修改方案:

修改download.php(在网站根目录plus文件夹下)

header("location:$link");

替换为

if(stristr($link,$cfg_basehost)) 

    header("location:$link"); 

else

    header("location:$cfg_basehost"); 

}

 

这样即可将非本站域名跳转到网站首页,以免出现钓鱼欺诈行为。而scanv也不会再提示低危风险漏洞了。