【问题标题】:C# WebClient Encryption - CharlesC# WebClient 加密 - Charles
【发布时间】:2018-10-27 12:06:49
【问题描述】:

是否可以通过 Web 客户端连接到 SSL,以便以后无法被 Charles 或 Fiddler 等程序解密?

我的问题是,我有一个应用程序白色登录,如果用户的密码和用户名是正确的,服务器返回成功。但是,如果用户阅读了响应,他可以轻松地将其伪装成白查尔斯并“绕过”我的登录。

【问题讨论】:

  • 我会说不,因为 Fiddler 会执行 Man in the middle attack 并读取流。你必须加密你的有效载荷来防止它。
  • @CSharper 除非我误解了这个问题,否则这是不正确的。 SSL 确实加密了有效负载......这就是重点......
  • 除非您明确将 Fiddler 根证书添加到受信任并允许它拦截和重新加密您的流量,否则它已经无法解密。如果您允许它这样做 - 那么您正是想要这种行为并且没有问题。
  • @LukeJoshuaPark SSL 加密有效负载,但它将使用 Fiddler 生成的证书,允许 Fiddler 解密、读取它,然后使用目标服务器的证书重新加密它 - 即作为 C Sharper 执行 MITM 攻击说。
  • @DerRuedi - 这感觉就像XY problem。请您明确说明您要保护的内容,以便我们更好地为您提供帮助?

标签: c# ssl encryption webclient


【解决方案1】:

这取决于你想要做什么,以及为什么。 Fiddler 通过在您的计算机上安装根证书来解密流量,然后使用它基本上使中间人攻击。或者换句话说,在用户许可的情况下,它颠覆了windows的安全模型。因此,如果您依赖 windows 来验证所使用的 SSL 证书,您将无能为力。

如果您只有一台您真正想要连接的服务器,您可以验证您获得的证书是您确实信任的唯一一台。这称为证书固定。

如果您担心有人存储流量,然后使用 Fiddler 解密,您可以不用担心。

【讨论】:

    猜你喜欢
    • 2021-10-16
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2011-01-05
    • 2011-11-27
    • 1970-01-01
    相关资源
    最近更新 更多