DedeCMS的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。
找到/member/article_add.php文件,搜索(大概在83行的样子),将以下代码:
if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))
修改为
if (empty($dede_fieldshash) || ( $dede_fieldshash != md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash != md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode)))
将改好的文件覆盖上传即可,记得备份好原文件!
9月11日更新:
8月31号更新了这个类似的漏洞,现在又发现了一个地方,继续分享出来。文件为/member/inc/inc_archives_functions.php,搜索(大概在239行的样子) :
echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.$cfg_cookie_encode)."\" />";
修改为:
echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5('anythingelse'.$cfg_cookie_encode)."\" />";
将修改好的文件上传覆盖即可。