charleyw / cordova-plugin-alipay

Cordova支付宝插件,cordova alipay plugin
175 stars 75 forks source link

支付有严重漏洞 #60

Closed zhang988925 closed 7 years ago

zhang988925 commented 7 years ago

发起支付参数没有任何签名,我现通过客户端提交订单,获取支付参数,停止支付,然后拿着支付信息在谷歌浏览器里面调试构造参数修改支付价格就可以1分钱支付,这是重大漏洞,请重视!!!! 支付宝官网说的很清楚签名必须得服务端完成,不能再客户端签名

zhang988925 commented 7 years ago

目前的解决方法是异步通知的时候校验金额

charleyw commented 7 years ago

肯定是要校验的。在前端弄只是为了简单。

zhang988925 commented 7 years ago

可以在服务端签名 然后传给本地payInfo调用 String result = alipay.pay(payInfo);

nuying117 commented 7 years ago

我基于作者的原版fork了一份,把私钥参数给去掉了 https://github.com/nuying117/cordova-plugin-alipay

nuying117 commented 7 years ago

楼主提出的这个问题,根本原因在于私钥加密的字串不该在客户端做,本身就该多一步,加密串由客户端从服务端获取,然后客户端只负责提交,现在这个实现把私钥放客户端,本身就有安全问题。

fish-ball commented 7 years ago

这个 Issue 可以关了吧