0

我有一个大量使用 JSON 服务的 ASP.NET 网站。基本结构是:jQuery Plugins -> JSON Service -> Server-Side BAL。

但是,这种解决方案显然不安全,因为恶意用户可以运行诸如 Fiddler 之类的工具并在他们的机器上捕获 JSON 调用,然后重放这些 JSON 调用更改参数等。

如果我将 web 服务文件夹放在 SSL 下,它会给我什么保护?我尝试将整个站点置于 SSL 下,但仍在运行 Fiddler,我可以看到转至 HTTPS 协议的明文消息,并且我可以使用相同或更改的参数从 Fiddler 重播这些消息。

我显然对 SSL 知之甚少,需要一些帮助。听起来我的 SSL 设置不正确,还是可以通过 Fiddler 查看 SSL 流量?如果是后者,SSL 在我的场景中提供什么保护?

谢谢你。

4

2 回答 2

0

如果 Bob 在他的网站上实施 SSL,那么当 Alice 使用该网站时,Mallory 将无法拦截数据或在运行中更改数据。SSL 将 Alice 的浏览器和 Bob 的服务器之间的消息保密。它不会对 Alice 和 Alice 的浏览器之间的消息保密。

您可以采取两种方法来保护自己免受恶意数据的侵害。

  1. 在将其插入其他格式之前,请转义(或等效)所有内容。例如,在 SQL 上使用准备好的语句,使用 JSON 序列化程序构建 JSON,而不是字符串混搭等。
  2. 对用户进行身份验证并仅接受来自您信任的用户的数据
于 2013-03-14T13:51:11.247 回答
0

SSL 仅加密传输。这意味着第三方无法窃听客户端和您的服务器之间的数据交换。它不会向服务器或服务本身添加任何安全功能。

您需要的是一个适当的身份验证、许可和验证系统。每个请求都需要检查其有效性。准备好接收带有任何类型参数的任何类型的请求,无论是因为用户摆弄了参数,还是因为代码中的错误或其他原因。如果请求无效,即不允许特定用户做某事,则拒绝该请求。
这不是您可以实施的附加技术,而是您服务的核心设计考虑因素。

于 2013-03-14T13:51:14.517 回答