Strona 1 z 3 123 OstatniOstatni
Pokaż wyniki 1 do 10 z 24

Temat: bufer overflow

  1. #1
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie bufer overflow

    witam
    troche glupio zakladac mi znowu post ale mam nadzieje ze i tym razem mi pomozecie
    nie radze sobie z tymi atakami
    mam kilka tutoriali
    w jednym jest nadpisywanie adresu powrotu z funkcji a w 2 rejestru eip
    1 pytanie, o co z tym chodzi? tzn wiem co to eip i adres powrotu, tylko czym to sie rozni i czy jak aplikacja jest podatna to mozna sobie wybrac albo eip albo adres powrotu?

    a moj nastepny problem polega na tym ze pobieram tutoriale, kompiluje te dziurawe programy na dysku, odpalam z gdb, przekazuje bufor, robie wszystko jak jest podane, potem sprawdzam czy ciag nadpisal mi rejestr eip i nie ma wartosc nadpisanej 414141 (wysylam ciag liter A) jak w tutorialu.
    Czytalem ze na ubuntu nie da sie bo ma jakies zabezpieczenia
    znacie moze jakis system na ktorym mozna to pocwiczyc?
    prosze o pomoc
    Ostatnio edytowane przez matmat0123456789 : 02-06-2010 - 11:11

  2. #2
    Avatar GSG-9
    GSG-9 jest offline Shapeshifter
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    zabezpieczenia o ktorych mowisz to pewnie randomizacja stosu, w necie jest tyle tutoriali ze glowa mala...
    War, war never changes.

  3. #3
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    na razie to ja chce zrozumiec sama idee tego ataku a omijanie tych zabezpieczen zostawie sobie na później
    a o co z tym chodzi z tym adresem powrotu i rejestrem eip
    moge nadpisywac ktory chce czy to zalezy od błędu?

  4. #4
    Zarejestrowany
    Feb 2010
    Postów
    81

    Domyślnie

    jak idee to moze na wikipedii , ja szczerze to sie na tym nie znam ale w wikipedii
    dosc ladnie idea jest wytlumaczona
    http://pl.wikipedia.org/wiki/Przepe%C5%82nienie_bufora

    ten PDF chyba tez jest lekkostrawny
    http://centrum.bezpieczenstwa.pl/artykuly/h07_bo.pdf

  5. #5
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    tak sie sklada ze obydwa czytalem i nie rozwiazalo to mojego ideowego problemu
    nadpisywac adres powrotu czy eip?
    moze jeszcze raz ponowie pytanie
    o co z tym chodzi z tym adresem powrotu i rejestrem eip
    moge nadpisywac ktory chce czy to zalezy od błędu?
    Ostatnio edytowane przez matmat0123456789 : 02-07-2010 - 14:08

  6. #6
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    zależy w której wersji systemu Linux. W wersjach Ubuntu 7, 8 i wyższych na pewno nie wykonasz buffer overflow, w starszych ci się powiedzie. Co do nadpisywania, nadpisujesz rejestr EIP, a oto przykładowy kod którym to robisz:

    Kod:
    #include <cstdlib>
    #include <stdio.h>
    
    int main( void ) {
        char buffer[20] = "";
        scanf( "%s", buffer );   
        puts( buffer );                                               // tutaj program sie wysypuje
        system( "pause" );
    }
    w linijce w której dodałem komentarz program się wysypuje i jest tam okazja do wykonania własnego kodu .

  7. #7
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    wielkie dzieki
    ale dlaczego nie przepelnie bufora w nowszych wersjach ubuntu?
    chodzi o randomizacje stosu
    poodno mozna to obejsc
    np do swoich testow na kompie wylaczylem randomizacje stosu i udalo mi sie wyexploitowac 1 program
    ale druga sprawa jest taka ze sam sobie machnalem prosty kodzik zeby pocwiczyc:

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

    char buf[512]

    strcpy(buf, argv[1]);
    return 0;
    }

    podczas kompilacji wylaczam opcje ochrony stosu i ciekawe jest to ze jak podam jako parametr wartosc wieksza niz 512 np 600
    to eip sie nie nadpisze
    a jak podam rowne 512 to sie nadpisze
    o co chodzi?

  8. #8
    Zarejestrowany
    Aug 2009
    Postów
    408

    Domyślnie

    ale dlaczego nie przepelnie bufora w nowszych wersjach ubuntu?
    przepelnisz, przed tym nie ma zadnego zabezpieczenia.

    ochrona polega na ladowaniu programu (image base) pod rozny adres. A wiec wszsytko bedzie mialo inny adres przy kazdym uruchomieniu, lacznie ze stosem. A skoro nie znasz jego adresu, nie mozesz nadpisac instruction pointera nim.

  9. #9
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    sorki ale troche pogmatwales i nie rozumiem

    ochrona polega na ladowaniu programu (image base) pod rozny adres. A wiec wszsytko bedzie mialo inny adres przy kazdym uruchomieniu, lacznie ze stosem. A skoro nie znasz jego adresu, nie mozesz nadpisac instruction pointera nim.

    to jest odnosnie tego przykladowego programu czy ogolnie o przepelnieniu bufora na ubuntu, bo wczesniej napisales ze da sie przepelnic
    a poza tym po co mi adres esp jak i tak wymagana jest tylko wiedza jaka jest odleglosc pomiedzy miejscem wywalenia w kodzie a eip
    ta odleglosc jest stala
    Ostatnio edytowane przez matmat0123456789 : 02-09-2010 - 18:26

  10. #10
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    Nowsze wersje ubuntu:

    Kod:
    char buffer[] = "AAAAAAAAAAAAAAAAAAAAAAAAAA\r\n";
    char dest[12] = "";
    strcpy( dest, buffer );
    wykrywają takie coś jak wpisanie kilkanaście znaków więcej niż może pomieścić bufor, dlatego wywala seg fault, na ubuntu ciężko jest zrobić buffer overflow, a randomizacje adresów można obejść, nie w tym problem tylko w obejściu wysypaniu się programu przed wykonaniem naszego kodu powłoki( chodzi mi o komunikat segmentation fault który występuje gdy bufor nie pomieścił wszystkich znaków:

    Kod:
    char buffer[] = "AAAAAAAAAAAAAAAAAAAAAAAAAA\r\n";
    char dest[12] = "";
    strcpy( dest, buffer );      // tutaj występuje segfault i breakpoint naszego programu :)
    puts( dest )           // a mniej wiecej w tym miejscu nalezy wykonac nasz kod powloki
    mam nadzieje ze zrozumiale napisalem?
    Ostatnio edytowane przez g3t_d0wn : 02-09-2010 - 18:36

Strona 1 z 3 123 OstatniOstatni

Podobne wątki

  1. Odpowiedzi: 12
    Autor: 01-31-2009, 18:23
  2. Buffer Overflow
    By Ormi in forum Hacking
    Odpowiedzi: 18
    Autor: 07-31-2008, 10:36
  3. Buffer overflow
    By lukasz6547 in forum Hacking
    Odpowiedzi: 7
    Autor: 06-28-2008, 20:46

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj