问题标签 [ntlmv2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 生成 NTLMv2 哈希和验证
我正在开发一个小型 Clojure 项目,我需要能够从纯字符串生成 NTLMv2 哈希。该值将用于填充 openLDAP 实例中的 sambaNTPassword 字段。我预计这将涉及调用一些 Java 库来完成繁重的工作,并从这个java 示例开始。但是,结果看起来不正确,我看到一些帖子表明 jcifs 可能不是 NTLMv2 的好解决方案。
所以我有两个问题
有谁知道我可以用来生成 NTLMv2 哈希的简单脚本,我可以将其用作检查脚本,即与我从解决方案中获得的输出进行比较。
关于其他可能更适合此任务的 Java 库的任何建议?
proxy - Netty ProxyHandler writeAndFlush 未向服务器写入响应
我正在尝试在 Netty 中实现一个 NTLMProxyHandler,它可以执行 NTLM 消息交换并使用 Web 代理对客户端进行身份验证。
NTLMProxyHandler 扩展了 Netty 的 ProxyHandler 类。因此,代理处理程序会触发初始 HTTP 请求,并到达我创建的模拟代理服务器。代理服务器读取此请求并以 407 代理身份验证要求响应进行响应。
NTLMProxyHandler 在客户端读取此响应并准备一个新的 NTLM Type1Message 并将响应再次写回服务器。我面临的问题是,尽管调用了通道未来的成功处理程序,但此请求永远不会发送到我的代理服务器。
我在日志中启用了 Netty 包,但无法弄清楚为什么只有第二次从 ntlm 代理处理程序写入的响应丢失了。
我尝试使用 Netty ProxyHandler 的 sendToProxyServer(msg) 以及从 channelRead() 传递的 channelHandlerCtx。在这两种情况下 writeAndFlush 都已完成,但响应永远不会到达服务器并且服务器超时。
有没有人使用 channelHandlerCtx 向服务器写回响应并执行类似于此的消息交换?
- 为什么来自 ntlm 代理处理程序的初始请求 -> 服务器成功但没有从该 ntlm 代理处理程序写入连续响应。
- 我在调试时还看到,即使我在编写 NTLMMessage1 时关闭了代理服务器,writeAndFlush 未来仍然是成功的。为什么 writeAndFlush 在这种情况下会成功?
任何指针都会非常有帮助。谢谢 !
NTLMProxyHandler.java
cxf - CXF 3.1.X 是否使用 Apache HttpComponents - HttpClient?
CXF 3.1.x 真的使用Apache HttpComponents - HttpClient进行 http 传输吗?Maven 依赖项没有将“Apache HttpComponents”列为依赖项,我也没有在 CXF jar 中看到任何HttpClient类?但是CXF JIRA CXF-6704讨论一下呢?
我需要访问 CXF 中的 HttpClient 以获得每个连接的 NTLM 支持,CXF 默认依赖于每个 JVM 设置的Java 6+ Authenticator 。
java - 通过 Apache Camel 调用 NTLMv2 安全端点
我正在使用 Apache Camel 2.19,并且在使用开箱即用的支持 NTLMv1 的 camel-http 模块调用我的端点时可以使用 NTLMv1:
问题是我不知道如何使用 NTLMv2 发出请求。官方文档指出:
注意:camel-http 基于 HttpClient v3.x,因此对 NTLMv1(NTLM 协议的早期版本)的支持有限。它根本不支持 NTLMv2。camel-http4 支持 NTLMv2。
当我尝试使用 camel-http4 时,它什么也不做:
似乎骆驼http4根本不知道NTLM。我试图在 GitHub 上调查 camel-http4 存储库,除了文档之外我找不到任何与 NTLM 相关的内容。
关于如何在 Camel 2.19 中使用 NTLMv2 的任何想法(其他版本的 Camel 可能也很合适)?
java - 当 JSON URL 位于另一个服务器/域上的 NTLM 身份验证之后时,如何从 Java Servlet 或类中请求外部 JSON URL
在 Windows 机器上从 Web 浏览器中访问以下 JSON URL 很简单,因为这会弹出一个身份验证框,要求输入用户名和密码,输入时正确显示 JSON 数据。
我现在正试图将它移动到 Java Servlet 中。
我已经测试了 HttpClient 库http://hc.apache.org,并且我从他们的文档中尝试过的每个示例都不起作用。我尝试过的大多数代码甚至都无法正确编译。
我还测试了 Jsoup,https: //jsoup.org/,因为这是一个非常好的网络抓取库,但这似乎不支持访问 NTLM 身份验证后面的页面。
我还测试了这里找到的代码,https://blogs.msdn.microsoft.com/freddyk/2010/01/19/connecting-to-nav-web-services-from-java/,这是唯一的代码示例我可以找到与访问位于 NTLM 身份验证后面的 JSON URL 相关的内容。这实际上是我想要实现的,一个 Java Web 应用程序通过他们的 Web 服务访问 Microsoft Nav 数据——甚至这个官方示例也无法编译。
任何指针/选项?一定有一个Java库可以解决这个问题吗?访问目前通过 HTTP,但出于安全原因最终将通过 SSL,因此任何解决方案都必须支持 SSL 握手。
我真的不想使用 LINQ 构建单独的 C# 应用程序,https: //blogs.msdn.microsoft.com/freddyk/2009/04/20/using-linq-with-nav-web-services/ ,我会希望有效,但我不希望 C# 示例基于未编译的 Java 示例在这种情况下工作。
更新
经过大量搜索后,我发现下面的代码似乎接近工作,但并不完全正常 - 请参阅代码中出现问题的注释。感谢评论中的指示。
我仍然不确定如何实际解决这个问题。任何额外的指针?
python - 将 python-requests 与 cntlm 公司代理一起使用
我有一些我想在公司代理后面运行的 python 应用程序。我正在使用 cntlm,我认为它配置正确,因为 wget、curl 和 pip 等运行良好。IE:
控制台输出:
正在工作 - 在哪里:
控制台输出:
不管用。
提前谢谢了!
sharepoint - 如何为 Sharepoint 2013/ 2016 设置 NTLM V2?
我正在使用 SharePoint 2013 本地 REST API。
我能够使用 BASIC 和 NTLM 配置我的 Web 应用程序。我想使用NTLM V2设置本地实例。
您能否帮助我们如何在 SharePoint 2013/2016 上设置 NTLM V2?
请建议。
sharepoint - 使用 NTLM V2 访问 SharePoint 2013 本地 REST API
我已经为内部部署的 SharePoint 2013 配置了 NTLM 和 NTLM V2 身份验证。
对于NTLM身份验证,我正在尝试通过httpntlm使用 REST API,并且它按预期工作并获得成功响应。但是,httpntlm
不能使用NTLM V2并获得错误为 Unauthorized 401
.
我还尝试了支持 NTLM 和 NTLM V2 但无法正常工作并引发内部意外错误的ntlm-client 。
我已按照setup-ntlm-v2在我的 SharePoint 2013 系统中设置 NTLM V2。请建议。
java - 带有 NTLM 的 Java HTTPClient 4.5,无法获得 NTLMv2 身份验证
我正在尝试使用 NTLMv2 对代理进行身份验证。但反过来,我得到的是使用 NTLMv1 的身份验证。代理支持这两种类型,并且客户端在域之外(但具有所需的凭据)。
客户端在 CentOS 6 上运行。代理是 Squid,也在 CentOS 6 上运行。Windows 2019 作为 AD。
如果我使用 HTTP 客户端 4.5 尝试我的 PoC,我在 Wireshark 中看到在协商期间(消息类型 1)FLAG_REQUEST_TARGET
未设置。查看里面的 HTTP 客户端,NTLMEngineImpl
我看到:
在里面,String getResponse()
我看不到任何地方都设置了标志。
从带有 IE 的 Windows 机器上,如果我发出请求,我会在 Wireshark 中看到该FLAG_REQUEST_TARGET
集合,并且在协商后它最终使用 NTLMv2 时使用相同的代理集。
那么,有没有办法让我使用 HTTPClient 4.5 设置这个标志?
node.js - 如何在 Node.js 中将 NTLM 凭据转换为 Kerberos 令牌
我想使用 Node.js 构建一个服务器,它充当某种代理。连接到我的服务器的客户端使用 NTLMv2 进行身份验证(无法更改此设置),但我的服务器将连接到的上游服务器需要 Kerberos 令牌。
所以,我的问题很简单:如何使用 Node.js 将 NTLMv2 提供的信息转换为 Kerberos 令牌?在 npm 上,到目前为止,我已经找到了用于 NTLMv2 身份验证的模块,但我可能需要与 Windows 对话以将用户的 NTLMv2 数据转换为该用户的令牌。
关于这个的任何提示,如何解决这个问题?