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

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

缺陷编号:wooyun-2015-0154605

漏洞标题:中北大学某分站多处SQLi可bypass可泄露全校学生信息可Getshell可提权

相关厂商:中北大学

漏洞作者: 柯西柯南柯北

提交时间:2015-11-23 23:06

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-23: 细节已通知厂商并且等待厂商处理中
2015-11-27: 厂商已经确认,细节仅向厂商公开
2015-12-07: 细节向核心白帽子及相关领域专家公开
2015-12-17: 细节向普通白帽子公开
2015-12-27: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

多出查询数据库语句没有过滤或者过滤不严,导致一系列高危风险

详细说明:

本次问题出在中北大学体育测试中心网站。
URL: 1、**.**.**.**/login.aspx //登录可以Bypass
2、**.**.**.**/tyxyy/display1.asp //这里有GET方法的注入
3、**.**.**.**/tyxyy/admin-login.asp // 这里有POST注入
1、
这是一个.net开发的站点。猜测其数据库可能是sql server。
登录所需要的用户名,密码为字符串,首先猜测其后端处理语句大概为:sql="select [username],[password] from [login_table] where [username]='"+username+"'"。
于是很容易想到提交 ' and user>0-- 来检测是否存在sqli同时判断数据库类型。如图:

response_with_db_user.png


至此基本确定其存在sqli,后续操作在漏洞证明里。
2、
这是一个展示文件下载公告的页面,id为字符型参数。提交 id=18 and user>1-- 暴出数据库用户

display1.png


3、
这是管理员登录的地方,同样存在如1中的问题。根据SQL Server的特性可以暴出所有有权限的库,表,列,数据,手工操作也不是很繁琐。另外直接放入工具即可很快跑出来。

漏洞证明:

1、
'having 1=1-- 看看它是哪个数据表的哪一列

table_and_column.png


猜猜密码列名字是什么:我猜是mm。我们来试试:

selectmm2.png


这里select出来了它的加密密文,并不是常见的MD5或sha1等hash,也不是base64密文,而是AES加密,不是很快就能解开的。
但是别忘了,这里还有其他用户,比如学生。
我们来赌一把,我赌学生的加密方式和管理员一致!
好,现在把我(学生)的密码密文select出来!登录身份选学生,用'having 1=1--暴它。

student2.png


我们得知学生的账号密码在v_xs_xx里,有xh列,即学号。
我仍然猜测密码列名为mm,尝试select我的密码密文,如下图

studentmmvalue.png


OK,尝试添加一个管理员,密码密文就用我的密码密文。
如果我们只插入yhm,mm两个列,他会提示xm列不能为空,如下:

xm_not_null.png


那么我们把xm列加上,提交之后尝试登录,如图:

login_success.png


登录成功
之后很多操作它会提示没有权限,那么我们看一下这个表的结构,并且找出我们和管理员的不同之处。
利用group by 和 having 1=1逐渐暴出所有字段名:yhm,rybh,mm,xm,sj,bz
逐个观察后发现bz是个重要的字段,我们把bz改成管理员
提交';update t_yh_xx set bz='管理员' where yhm='wooyun'--
再次登录后
依然提示没权限。。
那么我们可以直接修改admin的密码。首先记下admin原来的密码,以便于之后再改回去。
提交';update t_yh_xx set mm='mVIOJmqbnLg=' where yhm='admin'--
登录admin,使用发布通知,上传webshell。
这里没有对文件进行判断,任意文件可上传。如图

admin.png


webshell.png


webshell2.png


接下来能干的事就很多了,可以拖库,也可以提权。这是2003 的系统,pr提权有极大成功的肯能,操作我就不做了。
2、
非常基本的sql注入技术即可使用,具体不做了,参考1
3、
同样是登录的地方存在sqli,同样参考1 。同时,这里可以用union进行bypass,如图

bypass.png


同时,这里还存在弱口令,不过不存在admin这个用户名,可以用'or 1=1--绕过用户名。

tyxyy.png


这里面有全校学生的信息。具体我不做了。

修复方案:

新三年,旧三年,缝缝补补又三年。

版权声明:转载请注明来源 柯西柯南柯北@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-11-27 15:32

厂商回复:

CNVD未直接复现所述漏洞情况,已经转由CNCERT下发给赛尔教育,由其后续协调网站管理单位处置。

最新状态:

暂无