漏洞原因:
$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目录下即可。