漏洞详情

披露状态:

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

简要描述:

某页面存在SQL注入漏洞,可以获取数据库表结构等相关信息。

详细说明:

全棉时代一个广告语投票页面 http://www.purcotton.com/mall/mianroujin/vote.ihtml
通过查看页面js源码 http://res.purcotton.com/mres/res/mall/js/member/vote.js 可以发现里面有个获取投票数的服务 http://www.purcotton.com/mall/zixunvote/getVoteNum.ihtml
此服务接受key为zxid的post参数,value为vote1、vote2...等等

1.png


通过设置参数zxid=vote1 发现返回的是{num:116}
然后通过设置参数zxid=vote1%27 发现返回的是 {num:-1},猜测应该是服务报错,返回了出错后的返回值。
再通过设置参数zxid=vote1%27%20%27 发现返回的是{num:116},确认可以注入。
通过参数参数zxid=vote1%27%20--%20- 以及 zxid=vote1%27%20AND%20MID(VERSION(),1,1)%20=%20%275%27%20--%20- 返回结果都是{num:5},猜测这个SQL语句后面应该还有查询条件,而且使用的是MYSQL5。
找到注入点了,直接就通过盲注从information_schema.tables 及 information_schema.columns中获取到数据库结构信息。

漏洞证明:

2.png


如图,通过盲注获取到数据库表名。

修复方案:

过滤提交数据,防止SQL注入。

标签: none

评论已关闭