没有 MEX 端点的带有 BasicHttpBinding 的 WCF 服务可以被绝对陌生的人利用吗?
Posted
技术标签:
【中文标题】没有 MEX 端点的带有 BasicHttpBinding 的 WCF 服务可以被绝对陌生的人利用吗?【英文标题】:Can a WCF service w/ BasicHttpBinding without a MEX Endpoint be exploited by absolute strangers? 【发布时间】:2009-09-23 15:28:02 【问题描述】:据我了解:如果您没有 MEX 端点/WSDL,您的服务基本上是不可发现的。只有了解您的数据合同的人才能使用您的服务。
这种说法是否成立,或者是否有办法让互联网上的恶意居民找出如何调用/使用没有 MEX 端点的服务?
编辑:正如 Andrew 所指出的,这种策略不应被认为是真正安全的。我想知道更多关于在与外部消费者的 QA 阶段是否可以避免随机滥用。
【问题讨论】:
【参考方案1】:取决于您对安全的定义。这是一个默默无闻的安全案例,这对于您的个人待办事项服务可能很好,但对于财务应用程序来说是不可接受的。
SOAP 等并不复杂,因此黑客猜测某些输入并非不可能,尽管取决于服务,它可能非常不可能(甚至在数学上也不可行)。但是,如果您分发的客户端可以被逆向工程,或者如果有人设法通过数据包嗅探您服务的合法使用,那么他们几乎肯定可以利用它?
【讨论】:
我完全理解您所说的它提供的安全级别。【参考方案2】:人们(黑客)使用端口嗅探器来查找有监听的端口。然后他们开始用数据探测它,看看会得到什么。不需要太多工作就可以确定这是一个需要 SOAP 消息的端口。基本上返回的错误会告诉你很多。因此,默默无闻的安全性根本就没有安全性,您不妨发布 URL。
MEX 部分仅用于帮助其他人创建服务合同,而不是要求。以 REST 或 JSON 服务为例,没有 MEX 端点的概念。
【讨论】:
以上是关于没有 MEX 端点的带有 BasicHttpBinding 的 WCF 服务可以被绝对陌生的人利用吗?的主要内容,如果未能解决你的问题,请参考以下文章