近日,白帽子Jan Kechel发现了PayPal存在谎称支付额度的漏洞,并证明这可能会并被利用来进行诈骗。
Jan Kechel给出的Demo:http://lvps91-250-100-5.dedicated.hosteurope.de:43926/
作者在页面上给出了详细的步骤和解释,首先点击“start step 1”会转向一个1欧元的PayPal“快捷支付“页面:
当确认支付后,回重定向到付款页面(DoExpressCheckoutPayment)。注意,问题就出在这个重定向后的页面上,作者在demo中把付款金额调整为了2欧元,点“start step 2”后便会支付2欧:
当然若想完成交易是必须“确认支付”的(也就是setp 2),这无疑造成了支付缺陷给不法分子带来了机会。同样,作者使用了200美元同样上试验成功。
Jan Kechel向PayPal提交漏洞后,PayPal公司却否认这是一个安全漏洞不给予Jan Kechel任何赏金。PalPay声称这是为了小额的运费(或其他)而故意为之的。
作者认为PayPal公司应该在“快捷支付”被确认后的“付款”进行再次检查,以防止实际付款金额大于确认支付的金额,并且一旦有小额的费用变化要向用户进行明显的提示。