代码审计:Discuz鸡肋通杀注入漏洞 |

  • A+
所属分类:Seay信息安全博客

显示不全请点击全屏阅读

PS:博客文章支持全屏阅读了,解决了代码过长显示不全这个问题,具体看:【新增功能:博客支持全屏阅读 解决代码显示不全问题

 

首先说明这个东西价值不大,测试通杀2.x-3.x,以下的版本没看,具体的利用方法本人也没去研究,顶多mysqlfile权限的时候可以getshell,当然discuz还是有不少地方有问题的,这个不能说。。。

作者:Seay

博客:http://www.cnseay.com/

团队:SafeKey Team

http://www.safekeyer.com/

 

问题出在文件uc_clientmodelbase.php 的function note_exists函数

 

	function note_exists() {
		$noteexists = $this->db->fetch_first("SELECT value FROM ".UC_DBTABLEPRE."vars WHERE name='noteexists".UC_APPID."'");
		if(empty($noteexists)) {
			return FALSE;
		} else {
			return TRUE;
		}
	}

 

标红的UC_DBTABLEPRE 常量是从configconfig_ucenter.php 文件读取出来的

 

 

 

而这个东西是可控的。在后台站长->UCenter设置

 

 

 

更新一次,表前缀成功写入文件后,下一次更新的时候会调用note_exists函数,于是就触发了漏洞。

 

 

Tags:

Discuz漏洞, 代码审计,

如果您喜欢我的博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容: 也可以点击链接【订阅到鲜果】

如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡
代码审计:Discuz鸡肋通杀注入漏洞 |