代码之家  ›  专栏  ›  技术社区  ›  Daniel Auger

没有mex端点的带有basichttpbinding的wcf服务是否可以被绝对陌生人利用?

  •  1
  • Daniel Auger  · 技术社区  · 15 年前

    根据我的理解:如果您没有MEX端点/WSDL,那么您的服务基本上是不可发现的。只有了解您的数据合同的人才能使用您的服务。

    这个断言是否成立,或者是否有办法让互联网上的恶意用户弄清楚如何调用/使用没有mex端点的服务?

    编辑:正如安德鲁指出的,这种策略不应该被认为是真正安全的。我更想知道的是,在与外部消费者进行质量保证的过程中,它是否安全,免受随机滥用。

    2 回复  |  直到 13 年前
        1
  •  2
  •   Xcalibur    13 年前

    取决于您对安全的定义。这是一个默默无闻的安全案例,对于你的个人列表服务来说可能是很好的,但是对于一个金融应用程序来说是不可接受的。

    SOAP等并不是那么复杂,所以黑客不可能猜到某些输入,尽管这取决于服务,但可能是非常不可能的(甚至在数学上是不可行的)。但是,如果您分发一个可以进行反向工程的客户机,或者如果有人设法通过包嗅探合法使用您的服务,那么他们几乎可以肯定地利用它?

        2
  •  2
  •   Maurice    15 年前

    人们(黑客)使用端口嗅探器查找有监听内容的端口。然后他们开始用数据探测它,看看会有什么结果。不需要太多的工作就可以知道这是一个需要SOAP消息的端口。基本上返回的错误也会告诉你很多。因此,默默无闻的安全性根本就不是安全性,您不妨发布该URL。

    MEX部分只是帮助其他人创建服务合同,而不是一个需求。以REST或JSON服务为例,没有MEX端点的概念。