实现PROXY穿越(14):NTLM type3 Message
来源:互联网 发布:java设计之禅 编辑:程序博客网 时间:2024/05/22 13:55
Type3 message是client收到proxy的407含有type2message请求时候返回的消息,经过base64扰码后,放置在Proxy-Authentication中。下面来描述一下它的结构。
0-7字节: char protocol[8]表明属于NTLMSSP协议,依次位'N', 'T', 'L', 'M', 'S', 'S', 'P', '/0' 8-11字节 unsigned int type
为0x03000000(little-endian的方式,即0x00000003),即为3,表示是type3 message 12-19字节 LM response信息
12-13字节:LM response的长度
14-15字节:LM response分配的长度
16-19字节:LM response放置的偏移量offset
20-27字节 NTLM response信息
20-21字节:NT response的长度
22-23字节:NT response分配的长度
24-27字节:NT response放置的偏移量offset
28-35字节 target name信息
28-29字节:target name的长度
30-31字节:target name分配的长度
32-35字节:target name放置的偏移量offset
36-43字节:user name信息
36-37字节:user name的长度
38-39字节:user name分配的长度
40-43字节:user name放置的偏移量offset
44-51字节:host name信息即workstation信息
44-45字节:host name的长度
46-47字节:host name分配的长度
48-51字节:host name放置的偏移量offset
52-59字节:session key信息(可选)
52-53字节:长度
54-55字节:分配的长度
56-59字节:放置的偏移量offset
我们可以将52-55字节置0,56-59字节设置为type3 message的长度,即不放置sessionkey信息
60-63字节:flags
详细见http://blog.sina.com.cn/s/blog_5cf79a900100c1b6.html中关于type1message中的flags
64-71字节:OS信息(可选)
最简单的方式,就是不放置这信息
放置LM response、NTLMPresponse、domain、user、host、session key等信息
需要注意的是,host、domain、user名字使用Unicode的格式。
相关链接:我的网络通信相关文章
NTLM的实现:
- 实现PROXY穿越(14):NTLM type3 Message
- 实现PROXY穿越(12):NTLM type1 Message
- 实现PROXY穿越(13):NTLM type2 Message
- NTLM Type3 message
- 实现PROXY穿越(1):流程和NTLM算法
- 实现PROXY穿越(15):NTLM Session Security
- NTLM的PROXY穿越
- 实现PROXY穿越(2):Base64算法
- 实现PROXY穿越(9):NTLMv1 response
- 实现PROXY穿越(10):NTLMv2 response
- NTLM认证的proxy客户端的Java实现-NTLM.java
- 实现PROXY穿越(6):LM-Hash的实现
- 实现PROXY穿越(8):NT-Hash的实现
- 实现PROXY穿越(3):DES算法之一
- 实现PROXY穿越(4):DES算法之二
- 实现PROXY穿越(5):DES算法之三
- 实现PROXY穿越(7):MD4和MD5
- 实现PROXY穿越(11):NTLMv2 session response
- 精妙SQL语句收集
- 什么是SOA?
- 人为什么要和人比
- struts.xml
- JMX
- 实现PROXY穿越(14):NTLM type3 Message
- 解决openWin打开新窗口出现地址栏问题
- JavaScript重定向
- Informatica Powercenter 介绍
- 实现PROXY穿越(15):NTLM Session Security
- DFI与DPI安全设备的区别(产品经理硬功:EXCEL图表展示)
- vim "+y"复制到系统剪切板 无效
- 贝塞尔曲线完整代码
- 找出隐藏的文件夹