避免虚假服务器响应

时间:2012-07-30 16:38:07

标签: authentication client communication

在接下来的几行中,我将解释我担心的技巧,并解释我的确切问题

特技: 过去我曾经使用假服务器响应破解程序

  1. 将程序(客户端)连接回计算机
  2. 从真实服务器嗅探登录成功数据包
  3. 创建一个虚假服务器(侦听器),侦听来自客户端的连接并发回假响应(我嗅到)
  4. 但是,由于他们改变了一些东西并且我的伎俩不再起作用,所以还没有多少时间

    (每当我尝试发送一些嗅探登录数据包时,客户端崩溃并且不再接受虚假服务器响应)


    问题: 现在我正在创建自己的客户端服务器通信,我想防止我的客户端被虚假的服务器响应技巧所欺骗(任何人都可以使用任何用户名和密码登录)并提供窃听者的最佳安全性

    (如何确保此数据包来自我的服务器,而不是来自其他只发送嗅探登录成功数据包以欺骗我的客户端并登录的虚假服务器) (另一种方式如何防止客户端被欺骗,但假服务器(模拟器))

    注意:我的意思是防止不要让它100%安全,因为一切都可以破解,但要避免这种摧毁整个项目的愚蠢事情


    我希望我没有离开这一点,但我只是想清楚地解释每一点

1 个答案:

答案 0 :(得分:0)

如果我了解您的目标,使用TLS是一种方便的方式,可以让客户确信客户正在连接到正确的一方。

通过根据本地root可信证书或对等可信证书验证服务器的证书,您可以验证服务器的证书是由“受信任的”第三方颁发的,并且所连接的主机名是预期的一方。如果此类验证失败,则可以阻止与服务器的通信。

当然,这仅在客户未完全受到损害时才有用。

以下内容对您有所帮助:

Understanding Authentication
Transport Layer Security

如果设置正确,SSL可以帮助确保客户端连接到正确的服务器。它使用相同的技术确保您将登录信息提交到stackoverflow或gmail或大多数其他网站。服务器将其证书发送给客户端。客户端将获取该证书并使用一些数学魔术来确保它是由机器可信商店中的一个证书颁发的。嵌入在该证书中的是主机名。如果主机名与客户端连接的主机名匹配,并且证书由受信任存储中的证书颁发,则将建立连接。由于您信任受信任存储中的实体以了解他们向谁颁发了证书,因此服务器证书不能伪造。但是,如果客户端运行的计算机完全受到攻击,他们可以将自己的可信证书安装到受信任的存储中,从而允许它们伪装成连接受感染计算机的客户端的服务器。在这种情况下反编译源不允许攻击者伪装成服务器。您利用SSL的最简单方法是让您的服务器作为Web服务运行。我确信那里也有可能实现TLS的库。