漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-034163
漏洞标题:中国人寿平衡权限+信息ID被破解导致删除任意用户数据
相关厂商:中国人寿
漏洞作者: xfkxfk
提交时间:2013-08-12 16:26
修复时间:2013-09-26 16:27
公开时间:2013-09-26 16:27
漏洞类型:未授权访问/权限绕过
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-08-12: 细节已通知厂商并且等待厂商处理中
2013-08-12: 厂商已经确认,细节仅向厂商公开
2013-08-22: 细节向核心白帽子及相关领域专家公开
2013-09-01: 细节向普通白帽子公开
2013-09-11: 细节向实习白帽子公开
2013-09-26: 细节向公众公开
简要描述:
中国人寿某处平衡权限,加上信息ID被破解,构造ID并遍历后,导致可以删除任意用户数据。
详细说明:
这里我们拿两个用户进行测试。
先看看用户251362931@qq.com的留言信息,留言ID:137627320480720130812100644:
然后再来看看用户251251251@qq.com的留言信息,留言ID:137627318119420130812100621:
下面我们先来删除用户251251251@qq.com的留言信息,留言ID:137627318119420130812100621,然后我们抓个包看看,请求的参数有哪些:
这里有ecno和serviceid两个主要的参数:
这里的ecno参数可以不要,只是为了区分那个地区的,我主要的参数是serviceid,下面分析一下这留言信息serviceid的构造:
他是由27个数字组成,前13个是时间戳,后14个这个时间戳的年月日时分秒格式的时间。所以,只要我们遍历一下时间戳id,然后利用下面代码构造出这个serviceid就ok了。
通过上面分析,我们在删除留言信息时,抓包,把ecno参数删掉,把serviceid参数的值换成用户251362931@qq.com的留言信息,留言ID:137627320480720130812100644:
然后确定删除:
最后用户251362931@qq.com的留言信息,留言ID:137627320480720130812100644的留言就被删掉了。
看看是否删除成功:
用户251362931@qq.com的留言信息,留言ID:137627320480720130812100644被删除。
原本用户251251251@qq.com的留言信息,留言ID:137627318119420130812100621依然在,没有删除。
这样我们只要遍历时间戳(time.time()),利用上面代码构造serviceid,就能删除所有用户的留言信息。
漏洞证明:
见详细说明
修复方案:
控制权限,用户只能删除自己的留言信息。
留言信息ID不可逆,不要被破解出来,导致操作全部信息。
版权声明:转载请注明来源 xfkxfk@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2013-08-12 17:39
厂商回复:
非常感谢您对中国人寿信息安全的帮助,谢谢。
最新状态:
暂无