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(NT LAN Manager)是一种身份验证协议,广泛用于Windows网络环境,特别是在与Microsoft Active Directory集成的环境中。在Java编程中,如果你需要访问一个只接受NTLM身份验证的Web服务或者资源,你就需要实现...
NTLM(NT LAN Manager)是微软Windows操作系统中的一种身份验证协议,主要用于网络资源访问的身份验证。这个协议在早期的Windows版本中广泛使用,虽然现在已被更安全的Kerberos协议取代,但在某些环境中,尤其是与旧...
NTLM(NT LAN Manager)是Windows操作系统中使用的一种身份验证协议,主要负责在网络环境中提供安全认证服务。在本文中,我们将深入探讨NTLM的工作原理、挑战模式、散列认证过程以及NTLM算法的实现。 NTLM协议是...
NT LAN Manager(NTLM)是一种微软实现的身份验证协议,常用于Windows环境下的AD域身份验证。下面我们将详细探讨如何在Java环境中利用NTLM协议集成AD域进行登录,并了解相关文件的作用。 首先,让我们理解NTLM协议...
NTLM 认证是一种广泛使用的身份验证机制,它在 Windows NT 系统中广泛应用。NTLM 认证机制是基于挑战/响应模式的,它可以 garantir 服务器和客户机之间的身份验证。下面是 NTLM 认证的基本原理和编程简介。 挑战/...
2. **NTLM(NT LAN Manager)哈希** NTLM哈希是一种更安全的替代方案,它使用整个密码而非分割后的两部分,且不区分大小写。密码首先被转换为Unicode格式,然后通过MD4算法生成哈希值。NTLM哈希虽然比LM哈希更安全,...
NTLM (NT LAN Manager) 是一种身份验证协议,主要用于Windows操作系统环境中的网络认证。它基于挑战-响应机制,提供了一种安全的用户身份验证方式。在Delphi编程中,使用NTLM进行身份验证通常涉及到系统安全支持提供...
在Python的世界里,与服务器进行交互是常见的任务,而在处理NT LAN Manager (NTLM)身份验证时,requests_ntlm2库便扮演了重要的角色。requests_ntlm2是基于Python的requests库扩展,专门为了支持NTLM协议而设计,让...
requests-ntlm, 请求的NTLM身份验证支持 请求 ntlm 这个包允许使用请求库进行 HTTP NTLM身份验证。用法HttpNtlmAuth 扩展请求 AuthBase,因此使用很简单:import requestsfrom requests_ntlm
NTLM (NT LAN Manager) 是一种由Microsoft开发的安全协议,用于Windows环境中用户的认证。在默认配置下,许多Windows系统的telnet服务会启用NTLM认证,这对于防止未授权访问起到了重要作用。然而,这也为那些希望在...
NTLM工作流程包括三个步骤:挑战(Challenge)、响应(Response)和验证(Authentication)。当用户尝试访问受保护的资源时,服务器会发送一个随机的挑战值,客户端使用该挑战值和用户的凭据(如密码)生成一个加密...
关于NTLM验证 由于Telnet功能太强大,而且也是入侵者使用最频繁的登录手段之一,因此微软公司为Telnet添加了身份验证,称为NTLM验证,它要求Telnet终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM...
Burp NTLM挑战解码器 打p扩展以解码NTLM SSP标头。 通过HTTP的NTLM挑战,我们可以解码有关服务器的有趣信息,例如: 服务器的主机名 ... 编译后的插件位于build/libs/burp-ntlm-challenge-decoder.jar 资料来源
`Express-NTLM`是一个专为Node.js的Express框架设计的中间件,它允许开发者轻松地集成NT LAN Manager (NTLM) 身份验证机制到他们的应用程序中。NTLM是一种由微软提供的网络身份验证协议,主要用于Windows环境,但...
Python library that provides NTLM support, including an authentication handler for urllib2. Works with pass-the-hash in additon to password authentication.
NTLM协议(NT LAN Manager)是一种广泛应用于Windows系统的身份验证机制,但由于其设计上的缺陷,经常成为攻击者利用的对象,特别是NTLM中继攻击(NTLM Relay)问题。 NTLM中继攻击是指攻击者通过监听网络上的NTLM...
在IT行业中,尤其是在Web服务和企业级应用集成的领域,NTLM(NT LAN Manager)认证是一种常见的身份验证机制,尤其在Windows环境中。Axis2是一个流行的Java Web服务框架,它允许开发人员创建、部署和消费Web服务。本...
这个库是针对Python的`requests`库的一个扩展,专门用于处理NTLM(NT LAN Manager)身份验证。 NTLM是一种微软实现的身份验证协议,主要应用于Windows系统。在进行HTTP请求时,如果服务器需要NTLM认证,`requests_...
标题中的“115_使用 CrackMapExec 进行 NTLM Hash 传递攻击1”指的是一个关于网络安全的教程,特别是关于使用 CrackMapExec 工具进行 NTLM (NT LAN Manager) Hash 传递攻击的第1部分。这个过程是黑客利用NTLM的身份...
用于突破Telnet中的NTLM权限认证:先和目标计算机建立一个IPC$连接,将ntlm.exe复制到目标计算机上,再通过at命令执行即可。