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

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

缺陷编号:wooyun-2014-084099

漏洞标题:phpok最新版一处注入

相关厂商:phpok.com

漏洞作者: 玉林嘎

提交时间:2014-11-25 21:55

修复时间:2015-02-23 21:56

公开时间:2015-02-23 21:56

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:12

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-25: 细节已通知厂商并且等待厂商处理中
2014-11-25: 厂商已经确认,细节仅向厂商公开
2014-11-28: 细节向第三方安全合作伙伴开放
2015-01-19: 细节向核心白帽子及相关领域专家公开
2015-01-29: 细节向普通白帽子公开
2015-02-08: 细节向实习白帽子公开
2015-02-23: 细节向公众公开

简要描述:

最近没什么代码审计漏洞 给个前台呗

详细说明:

phpok最新版 20141119

3.jpg


问题文件:/framework/model/data.php //还是老问题
//取得文章列表
public function arclist($rs)
第102-105行:

if($rs['user_id'])
{
$sql.= "AND l.user_id IN(".$rs['user_id'].") ";
}


$rs['user_id'] 是直接进入查询的造成注入 现在就是找哪个地方应用了
function arclist()是从 function _arclist()过来的 找下_arclist()
找了下一共2个地方 一个不行 另一个就可以
/framework/www/project_control.php
function load_module($rs,$parent_rs='') 该函数用到了_arclist()
选取几行重要代码
129-131行:
$ext = $this->get("ext");
$tag = $this->get("tag");
$uid = $this->get('uid');
uid get进来
201-204行:
if($uid)
{
$pageurl .= "uid=".$uid."&";
$dt['user_id'] = $uid;
}
$uid 赋给dt数组的user_Id
219行:
$rslist = $this->call->phpok('_arclist',$dt);
$dt函数 进入查询
再找找load_module函数的应用,还是在这个文件下/framework/www/project_control.php
function index_f()
63-67行:
if($rs["module"])
{
$this->load_module($rs,$parent_rs);
exit;
}
找到准确位置 uid未过滤

漏洞证明:

1.jpg


2.jpg


而且可sqlmap噢

QQ图片20141121132402.jpg

修复方案:

过滤

版权声明:转载请注明来源 玉林嘎@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2014-11-25 22:19

厂商回复:

汗啊,又是过滤不完整~~吐啊,你们都是牛人~

最新状态:

暂无


漏洞评价:

评论

  1. 2014-11-25 22:25 | phpok企业站(乌云厂商)

    郁闷,我这边测试后,发现只是SQL会报错,不会爆库吧~

  2. 2014-11-25 22:26 | phpok企业站(乌云厂商)

    不管了,也是一个漏洞~~这些都尽量堵上:)

  3. 2014-11-26 09:56 | 玉林嘎 ( 普通白帽子 | Rank:758 漏洞数:96 )

    @phpok企业站 噢。搞忘了。这个信息是我审计时候,喜欢把 sql语句 var_dump出来,而且这个sqlmap是误报。但是这个是可以盲注的

  4. 2014-11-26 09:58 | 玉林嘎 ( 普通白帽子 | Rank:758 漏洞数:96 )

    @phpok企业站 你确认太快了。我还想在编辑下的

  5. 2014-11-26 11:38 | phpok企业站(乌云厂商)

    没事~我们这边PHPOK正在大力发展,对于这一块我们很重视的~~