discuz my.php注入,Discuz! 7.2 插件/manyou/sources/notice.php sql注入漏洞

在最新的discuz! 7.2中自带了一个新的应用程序插件manyou。恰恰在这个新插件中,没有对传入的参数进行检查,在GPC为off的情况下,导致注入漏洞的产生。

/manyou/sources/notice.php

if($option == 'del') {

$appid = intval($_GET['appid']);

$db->query("DELETE FROM {$tablepre}myinvite WHERE appid='$appid' AND touid='$discuz_uid'");

showmessage('manyou:done', 'userapp.php?script=notice&action=invite');

} elseif($option == 'deluserapp') {

$hash = trim($_GET['hash']); //此处并没有进行过滤,直接导致注入的产生

if($action == 'invite') {

$query = $db->query("SELECT * FROM {$tablepre}myinvite WHERE hash='$hash' AND touid='$discuz_uid'");

if($value = $db->fetch_array($query)) {

$db->query("DELETE FROM {$tablepre}myinvite WHERE hash='$hash' AND touid='$discuz_uid'");

showmessage('manyou:done', 'userapp.php?script=notice&action=invite');

} else {

showmessage('manyou:noperm');

}

} else {

$db->query("DELETE FROM {$tablepre}mynotice WHERE id='$hash' AND uid='$discuz_uid'");

showmessage('manyou:done', 'userapp.php?script=notice');

}

}

很简单的一个漏洞。在没有查询结果返回的情况下我们往往只有采取盲注的方式,但如果当前数据库帐号有File_priv的话我们也可以直接into outfile。

discuz! 7.2

临时解决方法:

对$hash 取值进行过滤

$hash = trim($_GET['hash']);

替换为

$hash = htmlspecialchars(trim($_GET['hash']));

等待官方补丁

www.discuz.net

loading-bars.svg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值