lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20030626173101.12505.qmail@www.securityfocus.com>
Date: 26 Jun 2003 17:31:01 -0000
From: xenophi1e <oliver.lavery@...patico.ca>
To: bugtraq@...urityfocus.com
Subject: Re: Internet Explorer >=5.0 : Buffer overflow


In-Reply-To: <20030622005821.17280.qmail@....securityfocus.com>


>&lt;script&gt;
> wnd=open("about:blank","",""); 
> wnd.moveTo(screen.Width,screen.Height);
> WndDoc=wnd.document;
> WndDoc.open();

This is a good one. Works for me on IE 6.0.2800.1106.xpsp2.

It's a stack based buffer overflow in HTML32.cnv which is a HTML 
converter .DLL with a funny extension (it's in \Program Files\Common 
Files\Microsoft Shared\TextConv). You can control EBP, EIP, and some 
regs. The only twist is that the buffer is encoded before the overflow 
occurs. The encoding appears to be something like UTF-8; high ASCII is 
transformed into multi-byte sequences, low ASCII is truncated (?!). This 
is only a problem for getting a useful EIP in there, and not a very big 
one by any means. 

I'm no unicode guru, so maybe someone else knows if this is consistent 
with UTF-8:

 buffer += "\xcc\x59\xfb\x77";
// becomes \xc3\x8c\x59\xc3\xbb\x57

As surreal side note, this DLL contains a strange easter egg:

.data:02344C94 aPresenting     db 'Presenting',0       ; DATA XREF: 
_EnsureDocClosure+2FC.o
.data:02344C94                                         ; 
_EnsureDocClosure+308.o
.data:02344C9F                 align 4
.data:02344CA0 aTheAnansi      db 'The Anansi',0       ; DATA XREF: 
_EnsureDocClosure+3C9.o
.data:02344CA0                                         ; 
_EnsureDocClosure+3D5.o
.data:02344CAB                 align 4
.data:02344CAC aAnansi         db 'Anansi',0           ; DATA XREF: 
_EnsureDocClosure+468.o
.data:02344CB3                 align 4
.data:02344CB4 aAnansiTheSpide db 'Anansi, the spider, is the chief 
character in most Ghanaian '
.data:02344CB4                                         ; DATA XREF: 
_EnsureDocClosure+4FF.o
.data:02344CB4                                         ; 
_EnsureDocClosure+50B.o
.data:02344CB4                 db 'folk tales.',0
.data:02344CFC aGenerallyRegar db ' Generally regarded as crafty and 
wise, he is often a maker '
.data:02344CFC                                         ; DATA XREF: 
_EnsureDocClosure+520.o
.data:02344CFC                                         ; 
_EnsureDocClosure+52C.o
.data:02344CFC                 db 'of mischief.',0
.data:02344D45                 align 4
.data:02344D48 aHeSeeksToSweep db ' He seeks to sweep up all the wisdom 
of the world in order t'
.data:02344D48                                         ; DATA XREF: 
_EnsureDocClosure+541.o
.data:02344D48                                         ; 
_EnsureDocClosure+54D.o
.data:02344D48                 db 'o be the wisest of all.',0
.data:02344D9C aDevelopmentTea db ' Development Team',0 ; DATA XREF: 
_EnsureDocClosure+5A9.o
.data:02344D9C                                         ; 
_EnsureDocClosure+5B5.o

Haven't figured out how to trigger it yet (just managed to find working 
debug symbols for this DLL):

.text:02315420 _EnsureDocClosure proc near             ; CODE XREF: 
_ConvertForeignToRtf+E5.p

.text:0231567D EasterEgg:                              ; CODE XREF: 
_EnsureDocClosure+1FC.j


Cheers,
~ol


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ