<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=NTLM_Authentication</id>
	<title>NTLM Authentication - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=NTLM_Authentication"/>
	<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;action=history"/>
	<updated>2026-05-18T13:54:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1458&amp;oldid=prev</id>
		<title>PeterHarding at 02:56, 25 February 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1458&amp;oldid=prev"/>
		<updated>2008-02-25T02:56:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:56, 25 February 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* http://www.innovation.ch/personal/ronald/ntlm.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* http://www.innovation.ch/personal/ronald/ntlm.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NTLM Authentication Scheme for HTTP]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NTLM Authentication Scheme for HTTP]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Microsoft]][[Category:NTLM]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1332&amp;oldid=prev</id>
		<title>PeterHarding at 00:15, 19 February 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1332&amp;oldid=prev"/>
		<updated>2008-02-19T00:15:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:15, 19 February 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=References=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=References=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/del&gt;http://ntlmaps.sourceforge.net/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* http://ntlmaps.sourceforge.net/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/del&gt;http://ntlmaps.sourceforge.net/ntlm.html&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* http://ntlmaps.sourceforge.net/ntlm.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/del&gt;http://www.innovation.ch/personal/ronald/ntlm.html&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* http://www.innovation.ch/personal/ronald/ntlm.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NTLM Authentication Scheme for HTTP]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[NTLM Authentication Scheme for HTTP]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1331&amp;oldid=prev</id>
		<title>PeterHarding at 22:55, 18 February 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1331&amp;oldid=prev"/>
		<updated>2008-02-18T22:55:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:55, 19 February 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://ntlmaps.sourceforge.net/ntlm.html]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://ntlmaps.sourceforge.net/ntlm.html]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.innovation.ch/personal/ronald/ntlm.html]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.innovation.ch/personal/ronald/ntlm.html]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [NTLM Authentication Scheme for HTTP]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/ins&gt;[NTLM Authentication Scheme for HTTP&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1330&amp;oldid=prev</id>
		<title>PeterHarding: Replacing page with &#039;=References=

* [http://ntlmaps.sourceforge.net/]
* [http://ntlmaps.sourceforge.net/ntlm.html]
* [http://www.innovation.ch/personal/ronald/ntlm.html]
* [NTLM Authentication Sch...&#039;</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1330&amp;oldid=prev"/>
		<updated>2008-02-18T22:55:43Z</updated>

		<summary type="html">&lt;p&gt;Replacing page with &amp;#039;=References=  * [http://ntlmaps.sourceforge.net/] * [http://ntlmaps.sourceforge.net/ntlm.html] * [http://www.innovation.ch/personal/ronald/ntlm.html] * [NTLM Authentication Sch...&amp;#039;&lt;/p&gt;
&lt;a href=&quot;https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;amp;diff=1330&amp;amp;oldid=1319&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1319&amp;oldid=prev</id>
		<title>PeterHarding at 05:22, 15 February 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1319&amp;oldid=prev"/>
		<updated>2008-02-15T05:22:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:22, 15 February 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=NTLM Authentication Scheme for HTTP=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Introduction==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;html&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;html&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;H1&gt;NTLM Authentication Scheme for HTTP&amp;lt;/H1&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;H2&gt;&amp;lt;A name=intro&gt;Introduction&amp;lt;/A&gt;&amp;lt;/H2&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;P&amp;gt;This is an attempt at documenting the undocumented NTLM authentication scheme  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;P&amp;gt;This is an attempt at documenting the undocumented NTLM authentication scheme  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;used by M$&amp;#039;s browsers, proxies, and servers (MSIE and IIS); this scheme is also  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;used by M$&amp;#039;s browsers, proxies, and servers (MSIE and IIS); this scheme is also  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1318&amp;oldid=prev</id>
		<title>PeterHarding: New page: &lt;html&gt;  &lt;H1&gt;NTLM Authentication Scheme for HTTP&lt;/H1&gt; &lt;H2&gt;&lt;A name=intro&gt;Introduction&lt;/A&gt;&lt;/H2&gt; &lt;P&gt;This is an attempt at documenting the undocumented NTLM authentication scheme  used by M$&#039;s ...</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=NTLM_Authentication&amp;diff=1318&amp;oldid=prev"/>
		<updated>2008-02-15T05:20:42Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;lt;html&amp;gt;  &amp;lt;H1&amp;gt;NTLM Authentication Scheme for HTTP&amp;lt;/H1&amp;gt; &amp;lt;H2&amp;gt;&amp;lt;A name=intro&amp;gt;Introduction&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt; &amp;lt;P&amp;gt;This is an attempt at documenting the undocumented NTLM authentication scheme  used by M$&amp;#039;s ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;H1&amp;gt;NTLM Authentication Scheme for HTTP&amp;lt;/H1&amp;gt;&lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=intro&amp;gt;Introduction&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;This is an attempt at documenting the undocumented NTLM authentication scheme &lt;br /&gt;
used by M$&amp;#039;s browsers, proxies, and servers (MSIE and IIS); this scheme is also &lt;br /&gt;
sometimes referred to as the NT challenge/response (NTCR) scheme. Most of the &lt;br /&gt;
info here is derived from three sources (see also the &amp;lt;A &lt;br /&gt;
href=&amp;quot;http://www.innovation.ch/java/ntlm.html#resources&amp;quot;&amp;gt;Resources&amp;lt;/A&amp;gt; section &lt;br /&gt;
at the end of this document): Paul Ashton&amp;#039;s work on the &amp;lt;A &lt;br /&gt;
href=&amp;quot;http://www.argo.demon.co.uk/nt/ntie.html&amp;quot;&amp;gt;NTLM security holes&amp;lt;/A&amp;gt;, the &amp;lt;A &lt;br /&gt;
href=&amp;quot;ftp://ftp.samba.org/pub/samba/docs/textdocs/ENCRYPTION.txt&amp;quot;&amp;gt;encryption &lt;br /&gt;
documentation&amp;lt;/A&amp;gt; from &amp;lt;A href=&amp;quot;http://samba.anu.edu.au/samba/&amp;quot;&amp;gt;Samba&amp;lt;/A&amp;gt;, and &lt;br /&gt;
network snooping. Since most of this info is reverse-engineered it is bound to &lt;br /&gt;
contain errors; however, at least one client and one server have been &lt;br /&gt;
implemented according to this data and work successfully in conjunction with &lt;br /&gt;
M$&amp;#039;s browsers, proxies and servers. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;P&amp;gt;Note that this scheme is not as secure as &amp;lt;A &lt;br /&gt;
href=&amp;quot;http://www.ietf.org/rfc/rfc2617.txt&amp;quot;&amp;gt;Digest&amp;lt;/A&amp;gt; and some other schemes; it &lt;br /&gt;
is slightly better than the Basic authentication scheme, however. &lt;br /&gt;
&amp;lt;P&amp;gt;Also note that this scheme is &amp;lt;STRONG&amp;gt;not&amp;lt;/STRONG&amp;gt; an http authentication &lt;br /&gt;
scheme - it&amp;#039;s a connection authentication scheme which happens to (mis-)use http &lt;br /&gt;
status codes and headers (and even those incorrectly). &lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=handshake&amp;gt;NTLM Handshake&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;When a client needs to authenticate itself to a proxy or server using the &lt;br /&gt;
NTLM scheme then the following 4-way handshake takes place (only parts of the &lt;br /&gt;
request and status line and the relevant headers are shown here; &amp;quot;C&amp;quot; is the &lt;br /&gt;
client, &amp;quot;S&amp;quot; the server): &amp;lt;PRE&amp;gt;    1: C  --&amp;amp;gt; S   GET ...&lt;br /&gt;
    &lt;br /&gt;
    2: C &amp;amp;lt;--  S   401 Unauthorized&lt;br /&gt;
                  WWW-Authenticate: NTLM&lt;br /&gt;
    &lt;br /&gt;
    3: C  --&amp;amp;gt; S   GET ...&lt;br /&gt;
                  Authorization: NTLM &amp;amp;lt;base64-encoded type-1-message&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    4: C &amp;amp;lt;--  S   401 Unauthorized&lt;br /&gt;
                  WWW-Authenticate: NTLM &amp;amp;lt;base64-encoded type-2-message&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    5: C  --&amp;amp;gt; S   GET ...&lt;br /&gt;
                  Authorization: NTLM &amp;amp;lt;base64-encoded type-3-message&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    6: C &amp;amp;lt;--  S   200 Ok&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=messages&amp;gt;Messages&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;The three messages sent in the handshake &lt;br /&gt;
are binary structures. Each one is described below as a pseudo-C struct and in a &lt;br /&gt;
memory layout diagram. &amp;lt;VAR&amp;gt;byte&amp;lt;/VAR&amp;gt; is an 8-bit field; &amp;lt;VAR&amp;gt;short&amp;lt;/VAR&amp;gt; is a &lt;br /&gt;
16-bit field. All fields are unsigned. Numbers are stored in little-endian &lt;br /&gt;
order. Struct fields named &amp;lt;VAR&amp;gt;zero&amp;lt;/VAR&amp;gt; contain all zeroes. An array length &lt;br /&gt;
of &amp;quot;*&amp;quot; indicates a variable length field. Hexadecimal numbers and quoted &lt;br /&gt;
characters in the comments of the struct indicate fixed values for the given &lt;br /&gt;
field. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;P&amp;gt;The field &amp;lt;VAR&amp;gt;flags&amp;lt;/VAR&amp;gt; is presumed to contain flags, but their &lt;br /&gt;
significance is unknown; the values given are just those found in the packet &lt;br /&gt;
traces. &lt;br /&gt;
&amp;lt;H3&amp;gt;&amp;lt;A name=type1msg&amp;gt;Type-1 Message&amp;lt;/A&amp;gt;&amp;lt;/H3&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;This message contains the host name and the NT domain name of the client. &amp;lt;PRE&amp;gt;    struct {&lt;br /&gt;
        byte    protocol[8];     // &amp;#039;N&amp;#039;, &amp;#039;T&amp;#039;, &amp;#039;L&amp;#039;, &amp;#039;M&amp;#039;, &amp;#039;S&amp;#039;, &amp;#039;S&amp;#039;, &amp;#039;P&amp;#039;, &amp;#039;\0&amp;#039;&lt;br /&gt;
        byte    type;            // 0x01&lt;br /&gt;
        byte    zero[3];&lt;br /&gt;
        short   flags;           // 0xb203&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   dom_len;         // domain string length&lt;br /&gt;
        short   dom_len;         // domain string length&lt;br /&gt;
        short   dom_off;         // domain string offset&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   host_len;        // host string length&lt;br /&gt;
        short   host_len;        // host string length&lt;br /&gt;
        short   host_off;        // host string offset (always 0x20)&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        byte    host[*];         // host string (ASCII)&lt;br /&gt;
        byte    dom[*];          // domain string (ASCII)&lt;br /&gt;
    } type-1-message&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&amp;lt;PRE&amp;gt;                 0       1       2       3&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         0:  |  &amp;#039;N&amp;#039;  |  &amp;#039;T&amp;#039;  |  &amp;#039;L&amp;#039;  |  &amp;#039;M&amp;#039;  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         4:  |  &amp;#039;S&amp;#039;  |  &amp;#039;S&amp;#039;  |  &amp;#039;P&amp;#039;  |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         8:  |   1   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        12:  | 0x03  | 0xb2  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        16:  | domain length | domain length |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        20:  | domain offset |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        24:  |  host length  |  host length  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        28:  |  host offset  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        32:  |  host string                  |&lt;br /&gt;
             +                               +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +             +-----------------+&lt;br /&gt;
             |             | domain string   |&lt;br /&gt;
             +-------------+                 +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
&amp;lt;/PRE&amp;gt;The host and domain strings are ASCII (or possibly ISO-8859-1), are &lt;br /&gt;
uppercased, and are not nul-terminated. The host name is only the host name, not &lt;br /&gt;
the FQDN (e.g. just &amp;quot;GOOFY&amp;quot;, not &amp;quot;GOOFY.DISNEY.COM&amp;quot;). The offset&amp;#039;s refer to the &lt;br /&gt;
offset of the specific field within the message, and the lengths are the length &lt;br /&gt;
of specified field. For example, in the above message &amp;lt;CODE&amp;gt;host_off = 32&amp;lt;/CODE&amp;gt; &lt;br /&gt;
and &amp;lt;CODE&amp;gt;dom_off = host_off + host_len&amp;lt;/CODE&amp;gt;. Note that the lengths are &lt;br /&gt;
included twice (for some unfathomable reason). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;H3&amp;gt;&amp;lt;A name=type2msg&amp;gt;Type-2 Message&amp;lt;/A&amp;gt;&amp;lt;/H3&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;This message contains the server&amp;#039;s NTLM challenge. &amp;lt;PRE&amp;gt;    struct {&lt;br /&gt;
        byte    protocol[8];     // &amp;#039;N&amp;#039;, &amp;#039;T&amp;#039;, &amp;#039;L&amp;#039;, &amp;#039;M&amp;#039;, &amp;#039;S&amp;#039;, &amp;#039;S&amp;#039;, &amp;#039;P&amp;#039;, &amp;#039;\0&amp;#039;&lt;br /&gt;
        byte    type;            // 0x02&lt;br /&gt;
        byte    zero[7];&lt;br /&gt;
        short   msg_len;         // 0x28&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
        short   flags;           // 0x8201&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        byte    nonce[8];        // nonce&lt;br /&gt;
        byte    zero[8];&lt;br /&gt;
    } type-2-message&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&amp;lt;PRE&amp;gt;                 0       1       2       3&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         0:  |  &amp;#039;N&amp;#039;  |  &amp;#039;T&amp;#039;  |  &amp;#039;L&amp;#039;  |  &amp;#039;M&amp;#039;  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         4:  |  &amp;#039;S&amp;#039;  |  &amp;#039;S&amp;#039;  |  &amp;#039;P&amp;#039;  |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         8:  |   2   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        12:  |   0   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        16:  |  message len  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        20:  | 0x01  | 0x82  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        24:  |                               |&lt;br /&gt;
             +          server nonce         |&lt;br /&gt;
        28:  |                               |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        32:  |   0   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        36:  |   0   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
&amp;lt;/PRE&amp;gt;The nonce is used by the client to create the LanManager and NT responses &lt;br /&gt;
(see &amp;lt;A href=&amp;quot;http://www.innovation.ch/java/ntlm.html#hashes&amp;quot;&amp;gt;Password &lt;br /&gt;
Hashes&amp;lt;/A&amp;gt;). It is an array of 8 arbitrary bytes. The message length field &lt;br /&gt;
contains the length of the complete message, which in this case is always 40. &lt;br /&gt;
&amp;lt;H3&amp;gt;&amp;lt;A name=type3msg&amp;gt;Type-3 Message&amp;lt;/A&amp;gt;&amp;lt;/H3&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;This message contains the username, host name, NT domain name, and the two &lt;br /&gt;
&amp;quot;responses&amp;quot;. &amp;lt;PRE&amp;gt;    struct {&lt;br /&gt;
        byte    protocol[8];     // &amp;#039;N&amp;#039;, &amp;#039;T&amp;#039;, &amp;#039;L&amp;#039;, &amp;#039;M&amp;#039;, &amp;#039;S&amp;#039;, &amp;#039;S&amp;#039;, &amp;#039;P&amp;#039;, &amp;#039;\0&amp;#039;&lt;br /&gt;
        byte    type;            // 0x03&lt;br /&gt;
        byte    zero[3];&lt;br /&gt;
&lt;br /&gt;
        short   lm_resp_len;     // LanManager response length (always 0x18)&lt;br /&gt;
        short   lm_resp_len;     // LanManager response length (always 0x18)&lt;br /&gt;
        short   lm_resp_off;     // LanManager response offset&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   nt_resp_len;     // NT response length (always 0x18)&lt;br /&gt;
        short   nt_resp_len;     // NT response length (always 0x18)&lt;br /&gt;
        short   nt_resp_off;     // NT response offset&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   dom_len;         // domain string length&lt;br /&gt;
        short   dom_len;         // domain string length&lt;br /&gt;
        short   dom_off;         // domain string offset (always 0x40)&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   user_len;        // username string length&lt;br /&gt;
        short   user_len;        // username string length&lt;br /&gt;
        short   user_off;        // username string offset&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   host_len;        // host string length&lt;br /&gt;
        short   host_len;        // host string length&lt;br /&gt;
        short   host_off;        // host string offset&lt;br /&gt;
        byte    zero[6];&lt;br /&gt;
&lt;br /&gt;
        short   msg_len;         // message length&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        short   flags;           // 0x8201&lt;br /&gt;
        byte    zero[2];&lt;br /&gt;
&lt;br /&gt;
        byte    dom[*];          // domain string (unicode)&lt;br /&gt;
        byte    user[*];         // username string (unicode)&lt;br /&gt;
        byte    host[*];         // host string (unicode)&lt;br /&gt;
        byte    lm_resp[*];      // LanManager response&lt;br /&gt;
        byte    nt_resp[*];      // NT response&lt;br /&gt;
    } type-3-message&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&amp;lt;PRE&amp;gt;                 0       1       2       3&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         0:  |  &amp;#039;N&amp;#039;  |  &amp;#039;T&amp;#039;  |  &amp;#039;L&amp;#039;  |  &amp;#039;M&amp;#039;  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         4:  |  &amp;#039;S&amp;#039;  |  &amp;#039;S&amp;#039;  |  &amp;#039;P&amp;#039;  |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
         8:  |   3   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        12:  |  LM-resp len  |  LM-Resp len  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        16:  |  LM-resp off  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        20:  |  NT-resp len  |  NT-Resp len  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        24:  |  NT-resp off  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        28:  | domain length | domain length |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        32:  | domain offset |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        36:  |  user length  |  user length  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        40:  |  user offset  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        44:  |  host length  |  host length  |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        48:  |  host offset  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        52:  |   0   |   0   |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        56:  |  message len  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        60:  | 0x01  | 0x82  |   0   |   0   |&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
        64:  | domain string                 |&lt;br /&gt;
             +                               +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +           +-------------------+&lt;br /&gt;
             |           | user string       |&lt;br /&gt;
             +-----------+                   +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +                 +-------------+&lt;br /&gt;
             |                 | host string |&lt;br /&gt;
             +-----------------+             +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +   +---------------------------+&lt;br /&gt;
             |   | LanManager-response       |&lt;br /&gt;
             +---+                           +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +            +------------------+&lt;br /&gt;
             |            | NT-response      |&lt;br /&gt;
             +------------+                  +&lt;br /&gt;
             .                               .&lt;br /&gt;
             .                               .&lt;br /&gt;
             +-------+-------+-------+-------+&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;The host, domain, and username strings are in Unicode (little-endian) and are &lt;br /&gt;
not nul-terminated; the host and domain names are in upper case. The lengths of &lt;br /&gt;
the response strings are 24. &lt;br /&gt;
&amp;lt;H3&amp;gt;&amp;lt;A name=hashes&amp;gt;Password Hashes&amp;lt;/A&amp;gt;&amp;lt;/H3&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;To calculate the two response strings two password hashes are used: the &lt;br /&gt;
LanManager password hash and the NT password hash. These are described in detail &lt;br /&gt;
in the Samba &amp;lt;A &lt;br /&gt;
href=&amp;quot;ftp://ftp.samba.org/pub/samba/docs/textdocs/ENCRYPTION.txt&amp;quot;&amp;gt;ENCRYPTION.txt&amp;lt;/A&amp;gt; &lt;br /&gt;
document. However, a few things are not clear (such as what the magic constant &lt;br /&gt;
for the LanManager hash is), so here is some almost-C code which calculates the &lt;br /&gt;
two responses. Inputs are &amp;lt;VAR&amp;gt;passw&amp;lt;/VAR&amp;gt; and &amp;lt;VAR&amp;gt;nonce&amp;lt;/VAR&amp;gt;, the results are &lt;br /&gt;
in &amp;lt;VAR&amp;gt;lm_resp&amp;lt;/VAR&amp;gt; and &amp;lt;VAR&amp;gt;nt_resp&amp;lt;/VAR&amp;gt;. &amp;lt;PRE&amp;gt;    /* setup LanManager password */&lt;br /&gt;
&lt;br /&gt;
    char  lm_pw[14];&lt;br /&gt;
    int   len = strlen(passw);&lt;br /&gt;
    if (len &amp;amp;gt; 14)  len = 14;&lt;br /&gt;
&lt;br /&gt;
    for (idx=0; idx&amp;amp;lt;len; idx++)&lt;br /&gt;
        lm_pw[idx] = toupper(passw[idx]);&lt;br /&gt;
    for (; idx&amp;amp;lt;14; idx++)&lt;br /&gt;
        lm_pw[idx] = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    /* create LanManager hashed password */&lt;br /&gt;
&lt;br /&gt;
    unsigned char magic[] = { 0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25 };&lt;br /&gt;
    unsigned char lm_hpw[21];&lt;br /&gt;
    des_key_schedule ks;&lt;br /&gt;
&lt;br /&gt;
    setup_des_key(lm_pw, ks);&lt;br /&gt;
    des_ecb_encrypt(magic, lm_hpw, ks);&lt;br /&gt;
&lt;br /&gt;
    setup_des_key(lm_pw+7, ks);&lt;br /&gt;
    des_ecb_encrypt(magic, lm_hpw+8, ks);&lt;br /&gt;
&lt;br /&gt;
    memset(lm_hpw+16, 0, 5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    /* create NT hashed password */&lt;br /&gt;
&lt;br /&gt;
    int   len = strlen(passw);&lt;br /&gt;
    char  nt_pw[2*len];&lt;br /&gt;
    for (idx=0; idx&amp;amp;lt;len; idx++)&lt;br /&gt;
    {&lt;br /&gt;
        nt_pw[2*idx]   = passw[idx];&lt;br /&gt;
        nt_pw[2*idx+1] = 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    unsigned char nt_hpw[21];&lt;br /&gt;
    MD4_CTX context;&lt;br /&gt;
    MD4Init(&amp;amp;amp;context);&lt;br /&gt;
    MD4Update(&amp;amp;amp;context, nt_pw, 2*len);&lt;br /&gt;
    MD4Final(nt_hpw, &amp;amp;amp;context);&lt;br /&gt;
&lt;br /&gt;
    memset(nt_hpw+16, 0, 5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    /* create responses */&lt;br /&gt;
&lt;br /&gt;
    unsigned char lm_resp[24], nt_resp[24];&lt;br /&gt;
    calc_resp(lm_hpw, nonce, lm_resp);&lt;br /&gt;
    calc_resp(nt_hpw, nonce, nt_resp);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;Helpers: &amp;lt;PRE&amp;gt;    /*&lt;br /&gt;
     * takes a 21 byte array and treats it as 3 56-bit DES keys. The&lt;br /&gt;
     * 8 byte plaintext is encrypted with each key and the resulting 24&lt;br /&gt;
     * bytes are stored in the results array.&lt;br /&gt;
     */&lt;br /&gt;
    void calc_resp(unsigned char *keys, unsigned char *plaintext, unsigned char *results)&lt;br /&gt;
    {&lt;br /&gt;
        des_key_schedule ks;&lt;br /&gt;
&lt;br /&gt;
        setup_des_key(keys, ks);&lt;br /&gt;
        des_ecb_encrypt((des_cblock*) plaintext, (des_cblock*) results, ks, DES_ENCRYPT);&lt;br /&gt;
&lt;br /&gt;
        setup_des_key(keys+7, ks);&lt;br /&gt;
        des_ecb_encrypt((des_cblock*) plaintext, (des_cblock*) (results+8), ks, DES_ENCRYPT);&lt;br /&gt;
&lt;br /&gt;
        setup_des_key(keys+14, ks);&lt;br /&gt;
        des_ecb_encrypt((des_cblock*) plaintext, (des_cblock*) (results+16), ks, DES_ENCRYPT);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    /*&lt;br /&gt;
     * turns a 56 bit key into the 64 bit, odd parity key and sets the key.&lt;br /&gt;
     * The key schedule ks is also set.&lt;br /&gt;
     */&lt;br /&gt;
    void setup_des_key(unsigned char key_56[], des_key_schedule ks)&lt;br /&gt;
    {&lt;br /&gt;
        des_cblock key;&lt;br /&gt;
&lt;br /&gt;
        key[0] = key_56[0];&lt;br /&gt;
        key[1] = ((key_56[0] &amp;amp;lt;&amp;amp;lt; 7) &amp;amp;amp; 0xFF) | (key_56[1] &amp;amp;gt;&amp;amp;gt; 1);&lt;br /&gt;
        key[2] = ((key_56[1] &amp;amp;lt;&amp;amp;lt; 6) &amp;amp;amp; 0xFF) | (key_56[2] &amp;amp;gt;&amp;amp;gt; 2);&lt;br /&gt;
        key[3] = ((key_56[2] &amp;amp;lt;&amp;amp;lt; 5) &amp;amp;amp; 0xFF) | (key_56[3] &amp;amp;gt;&amp;amp;gt; 3);&lt;br /&gt;
        key[4] = ((key_56[3] &amp;amp;lt;&amp;amp;lt; 4) &amp;amp;amp; 0xFF) | (key_56[4] &amp;amp;gt;&amp;amp;gt; 4);&lt;br /&gt;
        key[5] = ((key_56[4] &amp;amp;lt;&amp;amp;lt; 3) &amp;amp;amp; 0xFF) | (key_56[5] &amp;amp;gt;&amp;amp;gt; 5);&lt;br /&gt;
        key[6] = ((key_56[5] &amp;amp;lt;&amp;amp;lt; 2) &amp;amp;amp; 0xFF) | (key_56[6] &amp;amp;gt;&amp;amp;gt; 6);&lt;br /&gt;
        key[7] =  (key_56[6] &amp;amp;lt;&amp;amp;lt; 1) &amp;amp;amp; 0xFF;&lt;br /&gt;
&lt;br /&gt;
        des_set_odd_parity(&amp;amp;amp;key);&lt;br /&gt;
        des_set_key(&amp;amp;amp;key, ks);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=connections&amp;gt;Keeping the connection alive&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;As mentioned above, this scheme authenticates &amp;lt;EM&amp;gt;connections&amp;lt;/EM&amp;gt;, not &lt;br /&gt;
requests. This manifests itself in that the network connection must be kept &lt;br /&gt;
alive during the second part of the handshake, i.e. between the receiving of the &lt;br /&gt;
type-2 message from the server (step 4) and the sending of the type-3 message &lt;br /&gt;
(step 5). Each time the connection is closed this second part (steps 3 through &lt;br /&gt;
6) must be repeated over the new connection (i.e. it&amp;#039;s not enough to just keep &lt;br /&gt;
sending the last type-3 message). Also, once the connection is authenticated, &lt;br /&gt;
the Authorization header need not be sent anymore while the connection stays &lt;br /&gt;
open, no matter what resource is accessed. &lt;br /&gt;
&amp;lt;P&amp;gt;For implementations wishing to work with M$&amp;#039;s software this means that they &lt;br /&gt;
must make sure they use either HTTP/1.0 keep-alive&amp;#039;s or HTTP/1.1 persistent &lt;br /&gt;
connections, and that they must be prepared to do the second part of the &lt;br /&gt;
handshake each time the connection was closed and is reopened. Server &lt;br /&gt;
implementations must also make sure that HTTP/1.0 responses contain a &lt;br /&gt;
Content-length header (as otherwise the connection must be closed after the &lt;br /&gt;
response), and that HTTP/1.1 responses either contain a Content-length header or &lt;br /&gt;
use the chunked transfer encoding. &lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=example&amp;gt;Example&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;Here is an actual example of all the messages. Assume the host name is &lt;br /&gt;
&amp;quot;LightCity&amp;quot;, the NT domain name is &amp;quot;Ursa-Minor&amp;quot;, the username is &amp;quot;Zaphod&amp;quot;, the &lt;br /&gt;
password is &amp;quot;Beeblebrox&amp;quot;, and the server sends the nonce &amp;quot;SrvNonce&amp;quot;. Then the &lt;br /&gt;
handshake is: &amp;lt;PRE&amp;gt;    C -&amp;amp;gt; S   GET ...&lt;br /&gt;
    &lt;br /&gt;
    S -&amp;amp;gt; C   401 Unauthorized&lt;br /&gt;
             WWW-Authenticate: NTLM&lt;br /&gt;
    &lt;br /&gt;
    C -&amp;amp;gt; S   GET ...&lt;br /&gt;
             Authorization: NTLM TlRMTVNTUAABAAAAA7IAAAoACgApAAAACQAJACAAAABMSUdIVENJVFlVUlNBLU1JTk9S&lt;br /&gt;
    &lt;br /&gt;
    S -&amp;amp;gt; C   401 Unauthorized&lt;br /&gt;
             WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAU3J2Tm9uY2UAAAAAAAAAAA==&lt;br /&gt;
    &lt;br /&gt;
    C -&amp;amp;gt; S   GET ...&lt;br /&gt;
             Authorization: NTLM TlRMTVNTUAADAAAAGAAYAHIAAAAYABgAigAAABQAFABAAAAADAAMAFQAAAASABIAYAAAAAAAAACiAAAAAYIAAFUAUgBTAEEALQBNAEkATgBPAFIAWgBhAHAAaABvAGQATABJAEcASABUAEMASQBUAFkArYfKbe/jRoW5xDxHeoxC1gBmfWiS5+iX4OAN4xBKG/IFPwfH3agtPEia6YnhsADT&lt;br /&gt;
    &lt;br /&gt;
    S -&amp;amp;gt; C   200 Ok&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;and the unencoded messages are: &lt;br /&gt;
&amp;lt;P&amp;gt;Type-1 Message: &amp;lt;PRE&amp;gt;       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef&lt;br /&gt;
   0:  4e 54 4c 4d 53 53 50 00 01 00 00 00 03 b2 00 00  &amp;quot;NTLMSSP.........&amp;quot;&lt;br /&gt;
  10:  0a 00 0a 00 29 00 00 00 09 00 09 00 20 00 00 00  &amp;quot;....)....... ...&amp;quot;&lt;br /&gt;
  20:  4c 49 47 48 54 43 49 54 59 55 52 53 41 2d 4d 49  &amp;quot;LIGHTCITYURSA-MI&amp;quot;&lt;br /&gt;
  30:  4e 4f 52                                         &amp;quot;NOR&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;Type-2 Message: &amp;lt;PRE&amp;gt;       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef&lt;br /&gt;
   0:  4e 54 4c 4d 53 53 50 00 02 00 00 00 00 00 00 00  &amp;quot;NTLMSSP.........&amp;quot;&lt;br /&gt;
  10:  28 00 00 00 01 82 00 00 53 72 76 4e 6f 6e 63 65  &amp;quot;(.......SrvNonce&amp;quot;&lt;br /&gt;
  20:  00 00 00 00 00 00 00 00                          &amp;quot;........&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;Type-3 Message: &amp;lt;PRE&amp;gt;       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef&lt;br /&gt;
   0:  4e 54 4c 4d 53 53 50 00 03 00 00 00 18 00 18 00  &amp;quot;NTLMSSP.........&amp;quot;&lt;br /&gt;
  10:  72 00 00 00 18 00 18 00 8a 00 00 00 14 00 14 00  &amp;quot;r...............&amp;quot;&lt;br /&gt;
  20:  40 00 00 00 0c 00 0c 00 54 00 00 00 12 00 12 00  &amp;quot;@.......T.......&amp;quot;&lt;br /&gt;
  30:  60 00 00 00 00 00 00 00 a2 00 00 00 01 82 00 00  &amp;quot;`...............&amp;quot;&lt;br /&gt;
  40:  55 00 52 00 53 00 41 00 2d 00 4d 00 49 00 4e 00  &amp;quot;U.R.S.A.-.M.I.N.&amp;quot;&lt;br /&gt;
  50:  4f 00 52 00 5a 00 61 00 70 00 68 00 6f 00 64 00  &amp;quot;O.R.Z.a.p.h.o.d.&amp;quot;&lt;br /&gt;
  60:  4c 00 49 00 47 00 48 00 54 00 43 00 49 00 54 00  &amp;quot;L.I.G.H.T.C.I.T.&amp;quot;&lt;br /&gt;
  70:  59 00 ad 87 ca 6d ef e3 46 85 b9 c4 3c 47 7a 8c  &amp;quot;Y....m..F...&amp;amp;lt;Gz.&amp;quot;&lt;br /&gt;
  80:  42 d6 00 66 7d 68 92 e7 e8 97 e0 e0 0d e3 10 4a  &amp;quot;B..f}h.........J&amp;quot;&lt;br /&gt;
  90:  1b f2 05 3f 07 c7 dd a8 2d 3c 48 9a e9 89 e1 b0  &amp;quot;...?....-&amp;amp;lt;H.....&amp;quot;&lt;br /&gt;
  a0:  00 d3                                            &amp;quot;..&amp;quot;&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;For reference, the intermediate hashed passwords are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;DL&amp;gt;&lt;br /&gt;
  &amp;lt;DT&amp;gt;lm_hpw (LanManager hashed password): &lt;br /&gt;
  &amp;lt;DD&amp;gt;91 90 16 f6 4e c7 b0 0b a2 35 02 8c a5 0c 7a 03 00 00 00 00 00 &lt;br /&gt;
  &amp;lt;DT&amp;gt;nt_hpw (NT hashed password): &lt;br /&gt;
  &amp;lt;DD&amp;gt;8c 1b 59 e3 2e 66 6d ad f1 75 74 5f ad 62 c1 33 00 00 00 00 00 &amp;lt;/DD&amp;gt;&amp;lt;/DL&amp;gt;&lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=resources&amp;gt;Resources&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;&lt;br /&gt;
&amp;lt;DL&amp;gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;DT&amp;gt; &amp;lt;IMG ALT=&amp;quot;*&amp;quot; SRC=&amp;quot;/images/greenball.gif&amp;quot;&amp;gt;&lt;br /&gt;
     A description and comparison of various http authentication schemes&lt;br /&gt;
&amp;lt;DD&amp;gt; &amp;lt;A HREF=&amp;quot;http://www.cs.odu.edu/~asf/is2/2/paper.html&amp;quot;&amp;gt;http://www.cs.odu.edu/~asf/is2/2/paper.html&amp;lt;/A&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
  &amp;lt;DT&amp;gt;&amp;lt;IMG alt=* src=&amp;quot;NTLM_auth_files/greenball.gif&amp;quot;&amp;gt; Squid&amp;#039;s NLTM &lt;br /&gt;
  authentication project &lt;br /&gt;
  &amp;lt;DD&amp;gt;&amp;lt;A &lt;br /&gt;
  href=&amp;quot;http://squid.sourceforge.net/ntlm/&amp;quot;&amp;gt;http://squid.sourceforge.net/ntlm/&amp;lt;/A&amp;gt; &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;DT&amp;gt; &amp;lt;IMG ALT=&amp;quot;*&amp;quot; SRC=&amp;quot;/images/greenball.gif&amp;quot;&amp;gt;&lt;br /&gt;
     A tutorial on authentication schemes available on IIS&lt;br /&gt;
&amp;lt;DD&amp;gt; &amp;lt;A HREF=&amp;quot;http://www.aspalliance.com/flicks/&amp;quot;&amp;gt;http://www.aspalliance.com/flicks/&amp;lt;/A&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
  &amp;lt;DT&amp;gt;&amp;lt;IMG alt=* src=&amp;quot;NTLM_auth_files/greenball.gif&amp;quot;&amp;gt; Encryption description for &lt;br /&gt;
  Samba &lt;br /&gt;
  &amp;lt;DD&amp;gt;&amp;lt;A &lt;br /&gt;
  href=&amp;quot;ftp://ftp.samba.org/pub/samba/docs/textdocs/ENCRYPTION.txt&amp;quot;&amp;gt;ftp://ftp.samba.org/pub/samba/docs/textdocs/ENCRYPTION.txt&amp;lt;/A&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;DT&amp;gt; &amp;lt;IMG ALT=&amp;quot;*&amp;quot; SRC=&amp;quot;/images/greenball.gif&amp;quot;&amp;gt;&lt;br /&gt;
     Paul Leach&amp;#039;s presentation on NT security&lt;br /&gt;
&amp;lt;DD&amp;gt; &amp;lt;A HREF=&amp;quot;http://www.cifs.com/2ndcifsconf/Microsoft-Leach3/index.html&amp;quot;&amp;gt;http://www.cifs.com/2ndcifsconf/Microsoft-Leach3/index.html&amp;lt;/A&amp;gt;&lt;br /&gt;
--&amp;gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;DT&amp;gt; &amp;lt;IMG ALT=&amp;quot;*&amp;quot; SRC=&amp;quot;/images/greenball.gif&amp;quot;&amp;gt;&lt;br /&gt;
     Paul Ashton&amp;#039;s page on the MSIE security hole (includes a link to his&lt;br /&gt;
     sources for an Apache module which exploits this hole)&lt;br /&gt;
&amp;lt;DD&amp;gt; &amp;lt;A HREF=&amp;quot;http://www.argo.demon.co.uk/nt/ntie.html&amp;quot;&amp;gt;http://www.argo.demon.co.uk/nt/ntie.html&amp;lt;/A&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
  &amp;lt;DT&amp;gt;&amp;lt;IMG alt=* src=&amp;quot;NTLM_auth_files/greenball.gif&amp;quot;&amp;gt; Info on the MSIE security &lt;br /&gt;
  hole &lt;br /&gt;
  &amp;lt;DD&amp;gt;&amp;lt;A &lt;br /&gt;
  href=&amp;quot;http://oliver.efri.hr/~crv/security/bugs/NT/ie6.html&amp;quot;&amp;gt;http://oliver.efri.hr/~crv/security/bugs/NT/ie6.html&amp;lt;/A&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;DT&amp;gt;&amp;lt;IMG alt=* src=&amp;quot;NTLM_auth_files/greenball.gif&amp;quot;&amp;gt; FAQ: NT Cryptographic &lt;br /&gt;
  Password Attacks &amp;amp;amp; Defences &lt;br /&gt;
  &amp;lt;DD&amp;gt;&amp;lt;A &lt;br /&gt;
  href=&amp;quot;http://www.ntbugtraq.com/default.asp?sid=1&amp;amp;amp;pid=47&amp;amp;amp;aid=17&amp;quot;&amp;gt;http://www.ntbugtraq.com/default.asp?sid=1&amp;amp;amp;pid=47&amp;amp;amp;aid=17&amp;lt;/A&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;DT&amp;gt;&amp;lt;IMG alt=* src=&amp;quot;NTLM_auth_files/greenball.gif&amp;quot;&amp;gt; M$&amp;#039;s hotfix to disable the &lt;br /&gt;
  sending of the LanManager response &lt;br /&gt;
  &amp;lt;DD&amp;gt;&amp;lt;A &lt;br /&gt;
  href=&amp;quot;ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/hotfixes-postSP3/lm-fix&amp;quot;&amp;gt;ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/hotfixes-postSP3/lm-fix&amp;lt;/A&amp;gt; &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;DT&amp;gt;&amp;lt;IMG alt=* src=&amp;quot;NTLM_auth_files/greenball.gif&amp;quot;&amp;gt; A description of M$&amp;#039;s &lt;br /&gt;
  hotfix &lt;br /&gt;
  &amp;lt;DD&amp;gt;&amp;lt;A &lt;br /&gt;
  href=&amp;quot;http://www.tryc.on.ca/archives/bugtraq/1997_3/0070.html&amp;quot;&amp;gt;http://www.tryc.on.ca/archives/bugtraq/1997_3/0070.html&amp;lt;/A&amp;gt; &lt;br /&gt;
  &amp;lt;/DD&amp;gt;&amp;lt;/DL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;H2&amp;gt;&amp;lt;A name=acks&amp;gt;Acknowledgements&amp;lt;/A&amp;gt;&amp;lt;/H2&amp;gt;Special thanks to the following people &lt;br /&gt;
who helped with the collection and debugging of the above information: &lt;br /&gt;
&amp;lt;UL&amp;gt;&lt;br /&gt;
  &amp;lt;LI&amp;gt;&amp;lt;A href=&amp;quot;mailto:jlennard@dsg.com&amp;quot;&amp;gt;Jon Lennard&amp;lt;/A&amp;gt; &lt;br /&gt;
  &amp;lt;LI&amp;gt;&amp;lt;A href=&amp;quot;mailto:paul@argo.demon.co.uk&amp;quot;&amp;gt;Paul Ashton&amp;lt;/A&amp;gt; &lt;br /&gt;
  &amp;lt;LI&amp;gt;&amp;lt;A href=&amp;quot;mailto:samba-bugs@samba.anu.edu.au&amp;quot;&amp;gt;Jeremy Allison&amp;lt;/A&amp;gt; &amp;lt;/LI&amp;gt;&amp;lt;/UL&amp;gt;&lt;br /&gt;
&amp;lt;HR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ADDRESS&amp;gt;Ronald Tschalär / 14. March 2001 / &amp;lt;A &lt;br /&gt;
href=&amp;quot;mailto:ronald@innovation.ch&amp;quot;&amp;gt;ronald@innovation.ch&amp;lt;/A&amp;gt;. &lt;br /&gt;
&amp;lt;/ADDRESS&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/HTML&amp;gt;&lt;/div&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
</feed>