시스템 해킹

 1576, 1/79 회원가입  로그인  
   attainer
   쉘코드 만들기 Segmentation fault..

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1612 [복사]


http://www.hackerschool.org/HS_Boards/data/Lib_system/willy_sc.txt 강좌를 보고 쉘코드를 만들어보고 있는데요

.globl main
main:
        jmp strings
start:
        pop %esi
        movb $0x00, 0x7(%esi)
        movl %esi, 0x8(%esi)
        movl $0x00, 0xc(%esi)
        movl $0x0b, %eax
        movl %esi, %ebx
        lea 0x8(%esi), %ecx
        mov 0xc(%esi), %edx
        int $0x80
        mov $0x01, %eax
        mov $0x00, %ebx
        int $0x80
strings:
        call start
        .string "/bin/bash"

강좌를 따라했는데 자꾸 Segmentation fault가 뜨네요
Segmentation fault가 뜨는 지점은 movb $0x00, 0x7(%esi)부분입니다.
스트링 주소를 가져와서 그 뒷부분에 쓰려고 하니 에러가 뜨는 거 같은데.. 이 영역(스트링이 저장되는 영역)이 마음대로 쓸 수 있는 영역이 맞나요?
환경은 redhot리눅스 입니다. (BOF 원정대 리눅스)

  Hit : 5338     Date : 2012/09/20 08:43



    
supershop 현재 /bin/bash가 들어가있는 영역은 프로그램의 코드가 담긴 .text 영역입니다.
이 영역은 rx 권한 밖에 없기 때문에 데이터를 쓰려고 하면 세그폴트가 발생하겠죠
2012/10/04