`
xmeteor
  • 浏览: 75331 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Get username using NT Challenge (NTLM)

阅读更多
http://www.rgagnon.com/javadetails/java-0441.html
<%@ page import="sun.misc.BASE64Encoder" %>
<p><h1>Network Windows USERNAME without any login (ie)</h1></p>
<%
String auth = request.getHeader("Authorization");
if (auth == null) {
        response.setStatus(response.SC_UNAUTHORIZED);
        response.setHeader("WWW-Authenticate", "NTLM");
        return;
}
if (auth.startsWith("NTLM ")) { 
        byte[] msg = 
           new sun.misc.BASE64Decoder().decodeBuffer(auth.substring(5));
        int off = 0, length, offset;
        String s;

        if (msg[8] == 1) { 
            off = 18;

            byte z = 0;
            byte[] msg1 =
                {(byte)'N', (byte)'T', (byte)'L', (byte)'M', (byte)'S',
                (byte)'S', (byte)'P', z,
                (byte)2, z, z, z, z, z, z, z,
                (byte)40, z, z, z, (byte)1, (byte)130, z, z,
                z, (byte)2, (byte)2, (byte)2, z, z, z, z, // 
                z, z, z, z, z, z, z, z};
            // 
            response.setStatus(response.SC_UNAUTHORIZED);
            response.setHeader("WWW-Authenticate", "NTLM " 
               + new sun.misc.BASE64Encoder().encodeBuffer(msg1).trim());
            return;
        } 
        else if (msg[8] == 3) { 
                off = 30;
                length = msg[off+17]*256 + msg[off+16];
                offset = msg[off+19]*256 + msg[off+18];
                s = new String(msg, offset, length);
                //out.println(s + " ");
        } 
        else
                return;

        length = msg[off+1]*256 + msg[off];
        offset = msg[off+3]*256 + msg[off+2];
        s = new String(msg, offset, length);
        //out.println(s + " ");
        length = msg[off+9]*256 + msg[off+8];
        offset = msg[off+11]*256 + msg[off+10];
        s = new String(msg, offset, length);
        out.println("Hello  <span style='position:relative; width:190;" 
            + " height:10;filter:glow(Color=#009966,Strength=1)'>");
        out.println(s + "</SPAN>");
        }
%></BODY>


NOTES:
A comment from Weijun Ji : This technique only works if a user has its IE browser security setting set at middle/low (or if the server is trusted like in an intranet environm
分享到:
评论

相关推荐

    ntlm验证Java代码

    NTLM(NT LAN Manager)是一种身份验证协议,广泛用于Windows网络环境,特别是在与Microsoft Active Directory集成的环境中。在Java编程中,如果你需要访问一个只接受NTLM身份验证的Web服务或者资源,你就需要实现...

    NTLM.rar_NTLM

    NTLM(NT LAN Manager)是微软Windows操作系统中的一种身份验证协议,主要用于网络资源访问的身份验证。这个协议在早期的Windows版本中广泛使用,虽然现在已被更安全的Kerberos协议取代,但在某些环境中,尤其是与旧...

    ntml.rar_NTLM_NTML_ntlm算法_ntml协议认证_ntml认证

    NTLM(NT LAN Manager)是Windows操作系统中使用的一种身份验证协议,主要负责在网络环境中提供安全认证服务。在本文中,我们将深入探讨NTLM的工作原理、挑战模式、散列认证过程以及NTLM算法的实现。 NTLM协议是...

    AD域单点登陆NTLM

    NT LAN Manager(NTLM)是一种微软实现的身份验证协议,常用于Windows环境下的AD域身份验证。下面我们将详细探讨如何在Java环境中利用NTLM协议集成AD域进行登录,并了解相关文件的作用。 首先,让我们理解NTLM协议...

    NTLM认证基本原理及编程简介

    NTLM 认证是一种广泛使用的身份验证机制,它在 Windows NT 系统中广泛应用。NTLM 认证机制是基于挑战/响应模式的,它可以 garantir 服务器和客户机之间的身份验证。下面是 NTLM 认证的基本原理和编程简介。 挑战/...

    c++实现LM和NTLM哈希

    2. **NTLM(NT LAN Manager)哈希** NTLM哈希是一种更安全的替代方案,它使用整个密码而非分割后的两部分,且不区分大小写。密码首先被转换为Unicode格式,然后通过MD4算法生成哈希值。NTLM哈希虽然比LM哈希更安全,...

    NTLM.ZIP_DELPHI NTLM_NTLM Authentication_authentication

    NTLM (NT LAN Manager) 是一种身份验证协议,主要用于Windows操作系统环境中的网络认证。它基于挑战-响应机制,提供了一种安全的用户身份验证方式。在Delphi编程中,使用NTLM进行身份验证通常涉及到系统安全支持提供...

    PyPI 官网下载 | requests_ntlm2-6.2.4.tar.gz

    在Python的世界里,与服务器进行交互是常见的任务,而在处理NT LAN Manager (NTLM)身份验证时,requests_ntlm2库便扮演了重要的角色。requests_ntlm2是基于Python的requests库扩展,专门为了支持NTLM协议而设计,让...

    requests-ntlm, 请求的NTLM身份验证支持.zip

    requests-ntlm, 请求的NTLM身份验证支持 请求 ntlm 这个包允许使用请求库进行 HTTP NTLM身份验证。用法HttpNtlmAuth 扩展请求 AuthBase,因此使用很简单:import requestsfrom requests_ntlm

    绕过NTLM认证方式的另一种方法.doc

    NTLM (NT LAN Manager) 是一种由Microsoft开发的安全协议,用于Windows环境中用户的认证。在默认配置下,许多Windows系统的telnet服务会启用NTLM认证,这对于防止未授权访问起到了重要作用。然而,这也为那些希望在...

    利用ActiveX通过NTLM认证的实例+讲解

    NTLM工作流程包括三个步骤:挑战(Challenge)、响应(Response)和验证(Authentication)。当用户尝试访问受保护的资源时,服务器会发送一个随机的挑战值,客户端使用该挑战值和用户的凭据(如密码)生成一个加密...

    NTLM验证解除工具

    关于NTLM验证 由于Telnet功能太强大,而且也是入侵者使用最频繁的登录手段之一,因此微软公司为Telnet添加了身份验证,称为NTLM验证,它要求Telnet终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM...

    burp-ntlm-challenge-decoder:打p扩展以解码NTLM SSP标头并提取domainhost信息

    Burp NTLM挑战解码器 打p扩展以解码NTLM SSP标头。 通过HTTP的NTLM挑战,我们可以解码有关服务器的有趣信息,例如: 服务器的主机名 ... 编译后的插件位于build/libs/burp-ntlm-challenge-decoder.jar 资料来源

    前端开源库-express-ntlm

    `Express-NTLM`是一个专为Node.js的Express框架设计的中间件,它允许开发者轻松地集成NT LAN Manager (NTLM) 身份验证机制到他们的应用程序中。NTLM是一种由微软提供的网络身份验证协议,主要用于Windows环境,但...

    python-ntlm 1.1.0

    Python library that provides NTLM support, including an authentication handler for urllib2. Works with pass-the-hash in additon to password authentication.

    信息安全_数据安全_NTLM_Relay_Is_Dead_Long_Live_NTL.pdf

    NTLM协议(NT LAN Manager)是一种广泛应用于Windows系统的身份验证机制,但由于其设计上的缺陷,经常成为攻击者利用的对象,特别是NTLM中继攻击(NTLM Relay)问题。 NTLM中继攻击是指攻击者通过监听网络上的NTLM...

    axis2客户端调用带Ntlm认证例子

    在IT行业中,尤其是在Web服务和企业级应用集成的领域,NTLM(NT LAN Manager)认证是一种常见的身份验证机制,尤其在Windows环境中。Axis2是一个流行的Java Web服务框架,它允许开发人员创建、部署和消费Web服务。本...

    PyPI 官网下载 | requests_ntlm-0.3.0.tar.gz

    这个库是针对Python的`requests`库的一个扩展,专门用于处理NTLM(NT LAN Manager)身份验证。 NTLM是一种微软实现的身份验证协议,主要应用于Windows系统。在进行HTTP请求时,如果服务器需要NTLM认证,`requests_...

    115_使用 CrackMapExec 进行 NTLM Hash 传递攻击1

    标题中的“115_使用 CrackMapExec 进行 NTLM Hash 传递攻击1”指的是一个关于网络安全的教程,特别是关于使用 CrackMapExec 工具进行 NTLM (NT LAN Manager) Hash 传递攻击的第1部分。这个过程是黑客利用NTLM的身份...

    NTLM.EXE:用于突破Telnet中的NTLM权限认证

    用于突破Telnet中的NTLM权限认证:先和目标计算机建立一个IPC$连接,将ntlm.exe复制到目标计算机上,再通过at命令执行即可。

Global site tag (gtag.js) - Google Analytics