【发布时间】:2013-03-02 21:49:22
【问题描述】:
我有一个大量使用 JSON 服务的 ASP.NET 网站。基本结构是:jQuery Plugins -> JSON Service -> Server-Side BAL。
但是,这种解决方案显然不安全,因为恶意用户可以运行诸如 Fiddler 之类的工具并在他们的机器上捕获 JSON 调用,然后重放这些 JSON 调用更改参数等。
如果我将 Web 服务文件夹放在 SSL 下,它会给我什么保护?我尝试将整个站点置于 SSL 下,但仍在运行 Fiddler,我可以看到转至 HTTPS 协议的明文消息,并且我可以使用相同或更改的参数重播来自 Fiddler 的这些消息。
我显然对 SSL 知之甚少,需要一些帮助。听起来我的 SSL 设置不正确,还是可以通过 Fiddler 查看 SSL 流量?如果是后者,SSL 在我的场景中提供什么保护?
谢谢。
【问题讨论】:
-
嗯,您是否考虑过在服务器上验证数据,而不仅仅是在客户端上验证数据?
-
您可以配置 Fiddler 来解码 SSL(本质上,它通过摆弄证书来执行中间人攻击)。您的问题不是 Fiddler 允许修改参数。您的问题是您的网络服务没有对输入参数执行足够的检查和验证。
-
我的 Web 服务执行检查和验证,但这是我目前拥有的唯一“防线”。任何人都可以看到发送到服务器的参数并更改请求的事实扩大了某些不可预见的攻击的可能性。我洗希望隐藏请求体,所以至少更难发现网络服务的结构。
-
@user1044169 永远不可能对发送通信的客户端隐藏传出通信。如果您有专有客户端,例如本地桌面应用程序,它可以通过加密变得更加困难。但即使这样也是可以自省的,因为加密代码是在客户端上运行的。在 HTTP/Javascript 等开放的标准化系统中隐藏传出请求的结构几乎是不可能的。
标签: javascript json ssl https fiddler