시스템 해킹

 1576, 1/79 회원가입  로그인  
   kumi123
   쉘코드 작성중에

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


os : redhat 6.2

쉘코드 작성 중에..

.globl main

main:
            jmp call
func:
            xor   %eax, %eax
            movl %eax, 0x4(%esp)
            movl %esp, %ecx
            popl  %ebx
        
            --- movl  %eax, 0x7(%ebx) ---

            movb $0xb, %al
            xor    %edx, %edx
            int     $0x80
call:
             call func
             .string "/bin/sh\0"

여기서 /bin/sh\0 에 널을 없애고 싶은데..

위에 강조 부분을 하면,

세그먼트 펄스 가 뜨더군요..
그래서, 검색해보니.. .text영역을 건드려서 오류가 난다고 나와있는데요..

그럼 저기서 \0을 없애고 싶으면.. 코드를 어떻게 바꿔야 하나요?

  Hit : 3567     Date : 2013/06/06 03:16



    
Silk 방법은 아주 다양합니다. 애초에 /bin/sh\0이 아닌 /bin/shA 로 넣고
/bin/sh의 시작주소를 얻은 후에 A 까지 오프셋을 뛴 후 그 위치에 0을 밖아넣는 방식을 사용할 수 있습니다.
2013/06/13