2012-07-30 63 views
0

在下面的几行,我会解释说,我担心的伎俩,并为我的确切问题的解释避免假服务器响应

绝招: 过去,我用来破解程序使用伪造的服务器响应

  1. 环回程序(客户端)到我的电脑
  2. 真实服务器
  3. 创建嗅探登录成功的数据包的连接假的服务器(侦听器),听从客户端的连接,并发回假回应(我嗅了一下)

但它没有很多时间,因为他们改变了一些东西,我的伎俩不再工作了

(每次我尝试把一些嗅到登录包客户端崩溃,不再接受假的服务器响应)


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

(如何确保这个数据包来自我的服务器而不是从刚刚发送的嗅探登录成功包来欺骗我的客户和登录) 其他假冒服务器(以另一种方式如何防止客户上当受骗,但假的服务器(模拟器))

注:我的意思是通过防止不使它100%安全,因为一切都可以破解,但为了避免这种破坏整个项目的愚蠢的东西


我希望我没有去离点,但我只是想解释每一个点清楚

回答

0

如果我明白你可能去的,使用TLS是给信心的一种方便的方法客户端连接到正确的聚会。

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

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

以下可能你有点帮助:

Understanding Authentication
Transport Layer Security

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

+0

因此,使用SSL可以保证我的客户端连接到我的服务器,而不是连接到任何其他假服务器。你的意思是妥协的意思是说我的客户已经被反汇编或者是这样? ..你也明白我需要什么,所以你可以给我更多的参考资料,我怎么能在我的项目上实现SSL。另外据我了解,服务器发送一个包含我的域名的认证,并且不能作为一个虚假的认证! – 2012-07-30 17:37:55

+0

如果设置正确,SSL可以确保客户端连接到正确的服务器。其相同的技术,以确保您提交您的登录信息到stackoverflow或Gmail或大多数纽约其他网站 – 2012-07-30 23:22:50

+0

所以它的SSL解决我的问题 – 2012-07-30 23:32:30