实现PROXY穿越(13):NTLM type2 Message

  Type2 message是proxy收到client含有type1 message请求时候返回的消息,经过base64扰码后,放置在Proxy-Authentication中。下面来描述一下它的结构。

 

 0-7字节: char protocol[8]
表明属于NTLMSSP协议,依次位'N', 'T', 'L', 'M', 'S', 'S', 'P', '/0'
 8-11字节 unsigned int type
为0x02000000(little-endian的方式),即为2,表示是type2 message
 12-19字节,表明target name的信息
12-13:target name的长度
14-15:target name分配得长度
16-19:target name的存放的偏移量
 20-23字节,flags
详细见http://blog.sina.com.cn/s/blog_5cf79a900100c1b6.html中关于type1 message中的flags
 24-31字节 server给出的随机数
challenge挑战值,也就是server给出得8个字节的nonce
 32-39字节 context
可选项,可全部填0
 40-47字节,表明target info的信息
40-41:target info的长度
42-43:target info分配的长度
44-47:target info的存放偏移量
 48-55字节:可选 OS的信息,这么麻烦,干脆不使用
 target name
 target info

 

相关链接:我的网络通信相关文章

NTLM的实现:

  • 实现PROXY穿越(16):NTLM的PROXY穿越
  • 实现PROXY穿越(15):NTLM Session Security
  • 实现PROXY穿越(14):NTLM type3 Message
  • 实现PROXY穿越(13):NTLM type2 Message
  • 实现PROXY穿越(12):NTLM type1 Message
  • 实现PROXY穿越(11):NTLMv2 session response
  • 实现PROXY穿越(10):NTLMv2 response
  • 实现PROXY穿越(9):NTLMv1 response
  • 实现PROXY穿越(8):NT-Hash的实现
  • 实现PROXY穿越(7):MD4和MD5
  • 实现PROXY穿越(6):LM-Hash的实现
  • 实现PROXY穿越(5):DES算法之三
  • 实现PROXY穿越(4):DES算法之二
  • 实现PROXY穿越(3):DES算法之一
  • 实现PROXY穿越(2):Base64算法
  • 实现PROXY穿越(1):流程和NTLM算法

你可能感兴趣的:(算法,session,server,网络,OS,Security)