360检测Dedecms重定向漏洞的解决方案

本日,做啦在查看一个新做站点的360收录情况时,发现360这两天貌似升级过了,网站的安全信息居然在自动更新。

原谅我说这话,事实上,虽然以前有站点设置过360安全的自动检查,但好像还没见过哪个站点有自动更新安全信息的。以至于,一时之间,我还惊诧了下。不过,当我看到安全信息提示,开始感觉蛋疼了,存在2个警告漏洞。

360检测提示新站上存在2个警告漏洞

点开看了下漏洞信息,一条是DedeCMS V5.7 download.php url重定向漏洞,另一条是Swfupload.swf跨站脚本攻击漏洞。

DedeCMS V5.7 download.php url重定向漏洞

好吧,漏洞信息,怎么办?修复呗。以下,做啦主要讲讲DedeCMS V5.7 download.php url重定向漏洞的修复。

事实上,360网站安全已经给出该漏洞的解决方案了。那就是直接讲程序升级到最新版本,不过,对于升级,做啦是抱着一定顾虑的。为什么呢?因为每次Dede程序的升级,都可能会对网站造成影响!例如标签调用,后台文件修改等,特别是手上的这个Dede程序做过二次开发修改了。

不升级,那还有啥好办法?

既然,360安全提示的是download.php这个文件,那我们直接对这个文件进行修改,修复不就好了?

参照了网上的几段代码信息,发现代码修改起来也很简单。

打开download.php(在根目录下的plus文件夹中),在文件第89行找到代码header("location:$link");

织梦download.php重定向漏洞代码修复

将此代码替换为
if(stristr($link,$cfg_basehost)) { header("location:$link"); } else { header("location:$cfg_basehost"); }
修改保存后,重新检测已显示漏洞修复了。

做啦每文一结

提示,download.php代码中,header("location:$link");的位置并不都固定在89行,不同文件有所差异,大家可能需要耐心找一下。