最近,我们开发了一个应用程序,我们希望它的用户支付每月订阅费用才能使用它。所以我们首先想到的是如何为我们的应用程序实现一种安全的方式来检查用户的有效性并提出这些想法
WebClient
使用该用户进入我们的网站和Login
提供凭据:但是,这可能容易受MITM
攻击
攻击。SSL
证书(以确保
我们连接到我们的服务器而不是攻击者'):
但是,Fiddler
可以轻松执行MITM
攻击并解密SSL
沟通,这将导致与之相同的漏洞
第一种方法。由于互联网缺乏我们需要的文件,我们不得不在这里要求某人解释我们如何确保:
only
连接到我们的服务器,而不是任何假的托管
服务器(由攻击者)。 Note: we totally understand that the attacker may just deobfuscate the application and do whatever he want to it. So we are planning to get a good
{混淆{1}}
答案 0 :(得分:1)
您可以使用SSL证书固定。
将ServerCertificateValidationCallback
设置为仅接受证书的公钥或其签名者之一。 (这意味着你永远不能更改证书)
这将完全阻止SSL MITM(通过使用不同的证书并使计算机信任它)。
当然,它并不能阻止攻击者破解您的应用程序并完全绕过检查,特别是如果您存储本地状态。