找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1831|回复: 0

[BUG反馈] Discuz!X3.x全版本后台UC漏洞SQL注入写文件[截至X3.4 R20191201]

[复制链接]
已绑定手机

3312

主题

1480

回帖

4802

积分

管理员

积分
4802
发表于 2020-8-10 09:14:29 | 显示全部楼层 |阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、简述
Discuz! X系列全版本 截止到 Discuz! X3.4 R20191201 UTF-8
二次注入
利用条件有限,还是挺鸡肋的。
2、复现环境
同上
3、漏洞复现 Discuz!X3.x全版本后台UC漏洞SQL注入写文件[截至X3.4 R20191201] 版本,后台,漏洞,文件,ucenter

报错注入:
Discuz!X3.x全版本后台UC漏洞SQL注入写文件[截至X3.4 R20191201] 版本,后台,漏洞,文件,ucenter

写文件:
Discuz!X3.x全版本后台UC漏洞SQL注入写文件[截至X3.4 R20191201] 版本,后台,漏洞,文件,ucenter

4、漏洞分析
漏洞原因:经过addslashes存入文件中,从文件中取出字符,转义符号丢失,造成二次注入
Discuz!X3.x全版本后台UC漏洞SQL注入写文件[截至X3.4 R20191201] 版本,后台,漏洞,文件,ucenter
由前几个的分析已经明白了dz的路由形式,此处的路由解析如下:?action=xxx => ../admincp_xxx.php
跟进source/admincp/admincp_setting.php,2566行,接收参数修改UC_APPID值。
  1. $configfile = str_replace("define('UC_APPID', '".addslashes(UC_APPID)."')", "define('UC_APPID', '".$settingnew['uc']['appid']."')", $configfile);

  2.         $fp = fopen('./config/config_ucenter.php', 'w');
  3.         if(!($fp = @fopen('./config/config_ucenter.php', 'w'))) {
  4.             cpmsg('uc_config_write_error', '', 'error');
  5.         }
  6.         @fwrite($fp, trim($configfile));
  7.         @fclose($fp);
复制代码

成功写入恶意UC_APPID后,执行更新读取新的配置信息,3415行:
  1. if($updatecache) {

  2.         updatecache('setting');
复制代码

最后在uc_client/model/base.php的note_exists方法中触发注入
  1. function note_exists() {
  2.         $noteexists = $this->db->result_first("SELECT value FROM ".UC_DBTABLEPRE."vars WHERE name='noteexists".UC_APPID."'");
  3.         if(empty($noteexists)) {
  4.             return FALSE;
  5.         } else {
  6.             return TRUE;
  7.         }
  8.     }
复制代码


我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。
 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:44.200.112.172,GMT+8, 2023-6-8 07:26 , Processed in 0.142017 second(s), 65 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

点击联系客服QQ
扫码联系客服微信