漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0154686
漏洞标题:某电子教学办公OA密码重置漏洞
相关厂商:有鸿通信公司
漏洞作者: 路人甲
提交时间:2016-01-11 15:32
修复时间:2016-01-11 15:14
公开时间:2016-01-11 15:14
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-01-11: 细节已通知厂商并且等待厂商处理中
2016-01-15: 厂商已经确认,细节仅向厂商公开
2016-01-25: 细节向核心白帽子及相关领域专家公开
2016-02-04: 细节向普通白帽子公开
2016-02-14: 细节向实习白帽子公开
2016-01-11: 细节向公众公开
简要描述:
一个,弱智一样的漏洞,如果遇到WAF的话,可能要费点功夫绕过一下。
详细说明:
在/CheckLogin.aspx这个用于检查登录的程序中对txtName参数不加审核。
从反编译代码里可以看到,CheckLogin.aspx的输入会被直接提交到Sunlinks.WebOA.DataClass.UserMgr之中的三个用于登录的函数里,简洁起见这里只提供一个函数。
这就,爆炸简单了,闭合一下双引号,然后想怎么玩怎么玩咯。
漏洞证明:
Google关键字:Sunlinks OA .NET
OA系统中管理员密码和用户密码是分开存放的,但是然并卵,只要POST的时候改一下表名就可以了。
修改普通用户的密码就向/CheckLogin.aspx提交POST数据:
修改管理员密码就提交如下数据:
简单说明一下,0x25814CE396E81BE902D0BC0FBA07B630FAFBBF9023333333这个值。这个值是按照该OA系统加密密码的方式加密了一个明文密码123456,盐值取了0x23333333,下面是该OA系统的密码加密函数,两层SHA1配合一个盐值,盐值保存成最后8位十六进制数。
本来放了个localhost的示例,乌云居然让我补充完整的问题复现过程和有效的危害证明,这是逼我犯错误啊……
那我就,随手选了第一眼看到的,这个泉星小学吧,名字挺好听的。
然后,就是,POST我们的恶意代码。
没错,刚才提示我们没权限来着,然而,然并卵,接下来就是霸王硬上弓的环节了。
这个系统,管理员帐号取名字统一都是P+数字,而且admin基本都是P1。刚才已经把所有管理员密码都替换成123456了,所以这里我们直接用P1和123456登录。
就,进来了...来了...了...
而且这里还有地方能直接拿Shell,管理员什么的真是太棒了。
修复方案:
过滤一下参数吧,干嘛这么懒啊,过滤一下参数会狗带吗?
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:14
确认时间:2016-01-15 16:18
厂商回复:
CNVD未复现所述情况,已经由CNVD通过以往建立的处置渠道向软件生产厂商通报。
最新状态:
暂无