漏洞原因:$link = base64_decode(urldecode($link));
link可以构造成任意地址,下面直接跳转了
header("location:$link");
影响所有用到dedecms系统的网站。
漏洞证明:
http://你网站的网址/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也不会再提示低危风险漏洞了。或者下载download.php,解压后上传覆盖到根目录的plus目录下即可。
