CmsTop媒体版中某处sql注入漏洞

没穿底裤 2020年1月1日05:02:13漏洞时代评论529 views822字阅读2分44秒阅读模式
摘要

问题出现在 uc.php接口中,没有正确的判断UC接口是否开启,而key又是默认的。
因为代码中自己关闭了GPC,所以会导致注入。

问题出现在 uc.php接口中,没有正确的判断UC接口是否开启,而key又是默认的。
因为代码中自己关闭了GPC,所以会导致注入。

$set= setting('member');  $set['uc_dbtablepre'] = '`'.$set['uc_dbname'].'`.'.$set['uc_dbtablepre'];  $set = array_change_key_case($set, CASE_UPPER);  foreach($set as $k => $v) {   if(preg_match('/^UC_/',$k)) define($k,$v);  }  //在数据库中查出配置数据。然后设置为常量。
if(!defined('IN_UC')) { //好像并没有看到 设置 IN_UC常量的地方,所以条件成立      if(MAGIC_QUOTES_GPC) {   $get = _stripslashes($get); //如果开启了GPC了 那么就取消转义。  } 

由于uc接口使用的是自己的数据库连接,我们随便找一个 function来调用即可

function renameuser($get, $post) {    $uid = $get['uid'];    $usernameold = $get['oldusername'];    $usernamenew = $get['newusername'];    if(!API_RENAMEUSER) {     return API_RETURN_FORBIDDEN;    }      $this->db->query("UPDATE #table_member SET `username`='$usernamenew' WHERE userid='$uid'");    return API_RETURN_SUCCEED;   }

这是一个不错的点 ,可以更新任意账号的密码,也可以注入回显。(管理员在同表内)

还有synlogin函数可以登录任意账号。

这个cms用的大网站还是非常之多的。

案例 http://www.cmstop.com/case/
CmsTop媒体版中某处sql注入漏洞

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
没穿底裤
  • 本文由 发表于 2020年1月1日05:02:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  CmsTop媒体版中某处sql注入漏洞 https://cn-sec.com/archives/76489.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: