POST TIME:2020-04-05 22:31
參考了下網上給出的漏洞原因和解決思路如下:
$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也不會再提示低危風險漏洞了。