空中网签名机制缺陷导致可任意金额购买任意数量某游戏激活码

漏洞详情

披露状态:

2014-04-11: 细节已通知厂商并且等待厂商处理中
2014-04-11: 厂商已经确认,细节仅向厂商公开
2014-04-21: 细节向核心白帽子及相关领域专家公开
2014-05-01: 细节向普通白帽子公开
2014-05-11: 细节向实习白帽子公开
2014-05-26: 细节向公众公开

简要描述:

某新出网游,购买激活码有签名机制缺陷,1块买99个激活码

详细说明:

一句话概括就是,提交购买的数据包后,没有在服务端生成签名返回来,而是返回信息在本地生成签名。在本地生成签名之前截取并修改数据包,就可以实现任意金额购买任意数量的激活码。

漏洞证明:

点击购买99个激活码,生成金额为8712

1.jpg



截取返回的数据包,将所有8712改为1

2.jpg



最后生成的支付订单就变成1块了

3.jpg



支付

5.jpg



支付成功,游戏订单显示支付了8712,实际支付1块

6.jpg

修复方案:

签名机制有问题,应该在服务器上生成签名,加个随机数什么的返回来,而不是在本地生成签名。

版权声明:转载请注明来源 DeLETe@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-04-11 18:05

厂商回复:

谢谢您的信息,我们正在紧急处理。

最新状态:

2014-05-26:此漏洞已经修复。


漏洞评价: