Security 可以支付';是否验证回调以防止黑客攻击?

Security 可以支付';是否验证回调以防止黑客攻击?,security,validation,callback,opayo,Security,Validation,Callback,Opayo,SagePay的表单回调可以通过重新使用用户在成功交易时指向的成功URL进行黑客攻击。这会产生各种各样的问题,比如重复交易、伪造交易等 您可以检查重复的VPSTxId,但是可以通过破解回调URL的crypt参数重新生成这些VPSTxId 还可以操纵crypt参数以生成不同的“金额”字段 我还没有测试通过破解回调URL crypt参数可以更改哪些其他字段值 是否有任何方法(根据PayPal的IPN验证)对SagePay进行双重检查回调以确保交易是新的和唯一的?您应该始终从成功URL重定向用户。 我

SagePay的表单回调可以通过重新使用用户在成功交易时指向的成功URL进行黑客攻击。这会产生各种各样的问题,比如重复交易、伪造交易等

您可以检查重复的VPSTxId,但是可以通过破解回调URL的crypt参数重新生成这些VPSTxId

还可以操纵crypt参数以生成不同的“金额”字段

我还没有测试通过破解回调URL crypt参数可以更改哪些其他字段值


是否有任何方法(根据PayPal的IPN验证)对SagePay进行双重检查回调以确保交易是新的和唯一的?

您应该始终从成功URL重定向用户。
我个人使用一个实现页面(成功url)和一个感谢页面。在fulfill页面上,您显然应该只处理一次事务(基于事务id),并且可以存储随事务发送的crypt。密码必须有效,并且只有在您拥有加密密钥的情况下才能加密。
因此,除非你的安全措施非常松懈,否则黑客将非常困难,而且黑客必须知道你的加密密钥,才能开始尝试黑客攻击

或者,您应该使用服务器集成,以便通信是服务器-服务器,而不是客户机-服务器。表单和服务器之间几乎没有区别

10条永恒的安全法则

谢谢你的帖子。通常,我们鼓励客户机尽可能使用服务器集成。我们还经常监控交易中的可疑行为,并在怀疑有任何恶意活动时主动联系客户

我们建议客户确保他们使用的是我们的集成协议的最新版本,目前是v3。拿到票

正如Dan所建议的,您可以使用验证Sage Pay端是否确实存在交易,但我们将积极探索使用额外的验证机制(如PayPal的IPN)

如果您希望我们向您提供最新信息,请联系我们的客户服务团队support@sagepay.com或08451114455


Sage Pay Support

从实现页面重定向是个好主意,但是如果您通过say Fiddler跟踪成功URL,那么获得成功URL不是很容易吗?此外,在不知道加密密码的情况下,很容易侵入密码。示例:尝试从密码中敲出几个字母/数字,然后解密。它仍然可以很好地解密,只有Amount字段、txID字段(可能还有其他字段)可以通过这样做进行更改。您知道根据PayPal,SagePay表单是否有任何回调验证可用?我想您可以使用他们的报告和管理API,但也可以通过服务器集成,省去麻烦。但是回到你关于解密的观点,如果你改变了加密的字符串,然后对它进行解密,它应该是错误的,因为在解密它时它是有效的base64编码。正如我之前所说的,只需确保您只处理一次成功的url。如果使用相同的事务引用到达页面,则抛出错误:)